diff options
author | David Howells <dhowells@redhat.com> | 2013-08-30 19:15:24 +0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2013-09-25 20:17:00 +0400 |
commit | 67f7d60b3a08a3e3ec51c29c25767a9d9d0bd2b1 (patch) | |
tree | fcd8b1dd651ed934878ef3cee7e9548bfba97540 /crypto/asymmetric_keys/x509_cert_parser.c | |
parent | 206ce59a109f3b4bb352845bcd04f3cf504ae592 (diff) | |
download | linux-67f7d60b3a08a3e3ec51c29c25767a9d9d0bd2b1.tar.xz |
KEYS: Store public key algo ID in public_key struct
Store public key algo ID in public_key struct for reference purposes. This
allows it to be removed from the x509_certificate struct and used to find a
default in public_key_verify_signature().
Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Josh Boyer <jwboyer@redhat.com>
Diffstat (limited to 'crypto/asymmetric_keys/x509_cert_parser.c')
-rw-r--r-- | crypto/asymmetric_keys/x509_cert_parser.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/asymmetric_keys/x509_cert_parser.c b/crypto/asymmetric_keys/x509_cert_parser.c index facbf26bc6bb..8cc253d2dc92 100644 --- a/crypto/asymmetric_keys/x509_cert_parser.c +++ b/crypto/asymmetric_keys/x509_cert_parser.c @@ -343,8 +343,9 @@ int x509_extract_key_data(void *context, size_t hdrlen, if (ctx->last_oid != OID_rsaEncryption) return -ENOPKG; - /* There seems to be an extraneous 0 byte on the front of the data */ - ctx->cert->pkey_algo = PKEY_ALGO_RSA; + ctx->cert->pub->pkey_algo = PKEY_ALGO_RSA; + + /* Discard the BIT STRING metadata */ ctx->key = value + 1; ctx->key_size = vlen - 1; return 0; |