diff options
author | David Howells <dhowells@redhat.com> | 2012-09-24 16:11:48 (GMT) |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-10-08 03:20:22 (GMT) |
commit | c26fd69fa00916a31a47f5f096fd7be924106df8 (patch) | |
tree | 842075a43c3587ab0a93212b7f96563f616d6c33 /crypto/asymmetric_keys/Kconfig | |
parent | e1045992949160b56309b730b8bdc428f2f8b69e (diff) | |
download | linux-c26fd69fa00916a31a47f5f096fd7be924106df8.tar.xz |
X.509: Add a crypto key parser for binary (DER) X.509 certificates
Add a crypto key parser for binary (DER) encoded X.509 certificates. The
certificate is parsed and, if possible, the signature is verified.
An X.509 key can be added like this:
# keyctl padd crypto bar @s </tmp/x509.cert
15768135
and displayed like this:
# cat /proc/keys
00f09a47 I--Q--- 1 perm 39390000 0 0 asymmetri bar: X509.RSA e9fd6d08 []
Note that this only works with binary certificates. PEM encoded certificates
are ignored by the parser.
Note also that the X.509 key ID is not congruent with the PGP key ID, but for
the moment, they will match.
If a NULL or "" name is given to add_key(), then the parser will generate a key
description from the CertificateSerialNumber and Name fields of the
TBSCertificate:
00aefc4e I--Q--- 1 perm 39390000 0 0 asymmetri bfbc0cd76d050ea4:/C=GB/L=Cambridge/O=Red Hat/CN=kernel key: X509.RSA 0c688c7b []
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'crypto/asymmetric_keys/Kconfig')
-rw-r--r-- | crypto/asymmetric_keys/Kconfig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/Kconfig b/crypto/asymmetric_keys/Kconfig index 561759d..6d2c2ea 100644 --- a/crypto/asymmetric_keys/Kconfig +++ b/crypto/asymmetric_keys/Kconfig @@ -25,4 +25,14 @@ config PUBLIC_KEY_ALGO_RSA help This option enables support for the RSA algorithm (PKCS#1, RFC3447). +config X509_CERTIFICATE_PARSER + tristate "X.509 certificate parser" + depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE + select ASN1 + select OID_REGISTRY + help + This option procides support for parsing X.509 format blobs for key + data and provides the ability to instantiate a crypto key from a + public key packet found inside the certificate. + endif # ASYMMETRIC_KEY_TYPE |