diff options
author | Kai Engert <kaie@kuix.de> | 2019-02-08 21:08:40 +0100 |
---|---|---|
committer | Kai Engert <kaie@kuix.de> | 2019-02-08 21:08:40 +0100 |
commit | 8344823feb91570d515d353d0a581a4a716d3ac2 (patch) | |
tree | a64fade4ddcf8c1b1200f4112eb501d10bb21cba /lib/cryptohi | |
parent | c8461b39651bfd3e4e60d1c80b0eb2e2f78be25c (diff) | |
download | nss-hg-8344823feb91570d515d353d0a581a4a716d3ac2.tar.gz |
Bug 1526336, Implement new HASH_GetHashOidTagByHashType, r=rrelyea
Diffstat (limited to 'lib/cryptohi')
-rw-r--r-- | lib/cryptohi/sechash.c | 34 | ||||
-rw-r--r-- | lib/cryptohi/sechash.h | 2 |
2 files changed, 35 insertions, 1 deletions
diff --git a/lib/cryptohi/sechash.c b/lib/cryptohi/sechash.c index b12621100..53d8bc0ae 100644 --- a/lib/cryptohi/sechash.c +++ b/lib/cryptohi/sechash.c @@ -202,13 +202,45 @@ HASH_GetHashTypeByOidTag(SECOidTag hashOid) ht = HASH_AlgSHA512; break; default: - ht = HASH_AlgNULL; PORT_SetError(SEC_ERROR_INVALID_ALGORITHM); break; } return ht; } +HASH_GetHashOidTagByHashType(HASH_HashType type) +{ + SECOidTag oid = SEC_OID_UNKNOWN; + + switch (type) { + case HASH_AlgMD2: + oid = SEC_OID_MD2; + break; + case HASH_AlgMD5: + oid = SEC_OID_MD5; + break; + case HASH_AlgSHA1: + oid = SEC_OID_SHA1; + break; + case HASH_AlgSHA224: + oid = SEC_OID_SHA224; + break; + case HASH_AlgSHA256: + oid = SEC_OID_SHA256; + break; + case HASH_AlgSHA384: + oid = SEC_OID_SHA384; + break; + case HASH_AlgSHA512: + oid = SEC_OID_SHA512; + break; + default: + PORT_SetError(SEC_ERROR_INVALID_ALGORITHM); + break; + } + return oid; +} + SECOidTag HASH_GetHashOidTagByHMACOidTag(SECOidTag hmacOid) { diff --git a/lib/cryptohi/sechash.h b/lib/cryptohi/sechash.h index 94ff7ed3d..16e8b6713 100644 --- a/lib/cryptohi/sechash.h +++ b/lib/cryptohi/sechash.h @@ -53,6 +53,8 @@ extern HASH_HashType HASH_GetHashTypeByOidTag(SECOidTag hashOid); extern SECOidTag HASH_GetHashOidTagByHMACOidTag(SECOidTag hmacOid); extern SECOidTag HASH_GetHMACOidTagByHashOidTag(SECOidTag hashOid); +extern SECOidTag HASH_GetHashOidTagByHashType(HASH_HashType type); + SEC_END_PROTOS #endif /* _HASH_H_ */ |