summaryrefslogtreecommitdiff
path: root/lib/cryptohi
diff options
context:
space:
mode:
authorKai Engert <kaie@kuix.de>2019-02-08 21:08:40 +0100
committerKai Engert <kaie@kuix.de>2019-02-08 21:08:40 +0100
commit8344823feb91570d515d353d0a581a4a716d3ac2 (patch)
treea64fade4ddcf8c1b1200f4112eb501d10bb21cba /lib/cryptohi
parentc8461b39651bfd3e4e60d1c80b0eb2e2f78be25c (diff)
downloadnss-hg-8344823feb91570d515d353d0a581a4a716d3ac2.tar.gz
Bug 1526336, Implement new HASH_GetHashOidTagByHashType, r=rrelyea
Diffstat (limited to 'lib/cryptohi')
-rw-r--r--lib/cryptohi/sechash.c34
-rw-r--r--lib/cryptohi/sechash.h2
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_ */