mirror of
https://github.com/ipxe/ipxe
synced 2026-02-28 03:11:18 +03:00
[crypto] Add support for PKCS#8 private key format
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -164,7 +164,7 @@ static int rsa_parse_mod_exp ( struct asn1_cursor *modulus,
|
||||
int is_private;
|
||||
int rc;
|
||||
|
||||
/* Enter subjectPublicKeyInfo/RSAPrivateKey */
|
||||
/* Enter subjectPublicKeyInfo/privateKeyInfo/RSAPrivateKey */
|
||||
memcpy ( &cursor, raw, sizeof ( cursor ) );
|
||||
asn1_enter ( &cursor, ASN1_SEQUENCE );
|
||||
|
||||
@@ -177,6 +177,23 @@ static int rsa_parse_mod_exp ( struct asn1_cursor *modulus,
|
||||
/* Skip version */
|
||||
asn1_skip_any ( &cursor );
|
||||
|
||||
/* Enter privateKey, if present */
|
||||
if ( asn1_check_algorithm ( &cursor,
|
||||
&rsa_encryption_algorithm ) == 0 ) {
|
||||
|
||||
/* Skip privateKeyAlgorithm */
|
||||
asn1_skip_any ( &cursor );
|
||||
|
||||
/* Enter privateKey */
|
||||
asn1_enter ( &cursor, ASN1_OCTET_STRING );
|
||||
|
||||
/* Enter RSAPrivateKey */
|
||||
asn1_enter ( &cursor, ASN1_SEQUENCE );
|
||||
|
||||
/* Skip version */
|
||||
asn1_skip ( &cursor, ASN1_INTEGER );
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
/* Public key */
|
||||
|
||||
Reference in New Issue
Block a user