summaryrefslogtreecommitdiff
path: root/crypto/asymmetric_keys/mscode_parser.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2015-08-30 16:59:57 +0100
committerJames Morris <james.l.morris@oracle.com>2015-09-01 09:59:20 +1000
commitc439ff12d5f807283b03ebeb5e3e98dcf2e3f31d (patch)
tree26bc0ce9fae5cba03b019000f3f7903724e0beeb /crypto/asymmetric_keys/mscode_parser.c
parente27641818752478992fa0b156b667870162690bd (diff)
downloadlinux-crypto-c439ff12d5f807283b03ebeb5e3e98dcf2e3f31d.tar.gz
linux-crypto-c439ff12d5f807283b03ebeb5e3e98dcf2e3f31d.zip
PKCS#7: Add OIDs for sha224, sha284 and sha512 hash algos and use them
Add OIDs for sha224, sha284 and sha512 hash algos and use them to select the hashing algorithm. Without this, something like the following error might get written to dmesg: [ 31.829322] PKCS7: Unknown OID: [32] 2.16.840.1.101.3.4.2.3 [ 31.829328] PKCS7: Unknown OID: [180] 2.16.840.1.101.3.4.2.3 [ 31.829330] Unsupported digest algo: 55 Where the 55 on the third line is OID__NR indicating an unknown OID. Reported-by: Valdis Kletnieks <Valdis.Kletnieks@vt.edu> Signed-off-by: David Howells <dhowells@redhat.com> Tested-By: Valdis Kletnieks <valdis.kletnieks@vt.edu> Signed-off-by: James Morris <james.l.morris@oracle.com>
Diffstat (limited to 'crypto/asymmetric_keys/mscode_parser.c')
-rw-r--r--crypto/asymmetric_keys/mscode_parser.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/mscode_parser.c b/crypto/asymmetric_keys/mscode_parser.c
index 214a9921..adcef59e 100644
--- a/crypto/asymmetric_keys/mscode_parser.c
+++ b/crypto/asymmetric_keys/mscode_parser.c
@@ -97,6 +97,15 @@ int mscode_note_digest_algo(void *context, size_t hdrlen,
case OID_sha256:
ctx->digest_algo = HASH_ALGO_SHA256;
break;
+ case OID_sha384:
+ ctx->digest_algo = HASH_ALGO_SHA384;
+ break;
+ case OID_sha512:
+ ctx->digest_algo = HASH_ALGO_SHA512;
+ break;
+ case OID_sha224:
+ ctx->digest_algo = HASH_ALGO_SHA224;
+ break;
case OID__NR:
sprint_oid(value, vlen, buffer, sizeof(buffer));