summaryrefslogtreecommitdiff
path: root/crypto/asymmetric_keys/x509_cert_parser.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2018-08-03 17:55:12 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2018-08-03 17:55:12 +0800
commit777cd605441d129f14db2b970a0684d60ed2b167 (patch)
tree7909395a3705609b7c1a31f25dd9b2f9e5d7cffb /crypto/asymmetric_keys/x509_cert_parser.c
parent348f248cd01ef31296b73aaff7fe86ee92b6a825 (diff)
parent544545e88de8a0b644b13b740b307a2f10ee0f40 (diff)
downloadlinux-crypto-777cd605441d129f14db2b970a0684d60ed2b167.tar.gz
linux-crypto-777cd605441d129f14db2b970a0684d60ed2b167.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
Merge mainline to pick up c7513c2a2714 ("crypto/arm64: aes-ce-gcm - add missing kernel_neon_begin/end pair").
Diffstat (limited to 'crypto/asymmetric_keys/x509_cert_parser.c')
-rw-r--r--crypto/asymmetric_keys/x509_cert_parser.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/x509_cert_parser.c b/crypto/asymmetric_keys/x509_cert_parser.c
index 7d81e6bb..b6cabac4 100644
--- a/crypto/asymmetric_keys/x509_cert_parser.c
+++ b/crypto/asymmetric_keys/x509_cert_parser.c
@@ -249,6 +249,15 @@ int x509_note_signature(void *context, size_t hdrlen,
return -EINVAL;
}
+ if (strcmp(ctx->cert->sig->pkey_algo, "rsa") == 0) {
+ /* Discard the BIT STRING metadata */
+ if (vlen < 1 || *(const u8 *)value != 0)
+ return -EBADMSG;
+
+ value++;
+ vlen--;
+ }
+
ctx->cert->raw_sig = value;
ctx->cert->raw_sig_size = vlen;
return 0;