-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Description
I'm trying to access Subject Key Identifier field:
with open(der_cert, "rb") as f:
data = f.read()
try:
cert = x509.load_pem_x509_certificate(data, default_backend())
except ValueError:
cert = x509.load_der_x509_certificate(data, default_backend())
cert.extensions.get_extension_for_oid(
ExtensionOID.SUBJECT_KEY_IDENTIFIER
).value
Here's an error its giving me:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: error parsing asn1 value: ParseError { kind: InvalidValue, location: ["subject_alternative_name", 0, "GeneralName::RFC822Name"] }
However i don't try to parse subject_alternative_name, i don't need it.
It gives me an error on cert.extensions
already. However i think it should ignore other fields if i specifically ask for something specific such as Subject Key Identifier.
If i use GUI certificate viewer on KDE it shows everything. And PyOpenSSL also doesn't give an error.
with open(der_cert, 'rb+') as f:
cert_pem = f.read()
f.close()
cert = load_certificate(FILETYPE_ASN1, cert_pem)
for i in range(extension_count):
extension = cert.get_extension(i)
if extension.get_short_name() == b'subjectKeyIdentifier':
subject_key_identifier = hexlify(extension.get_data()).decode()[4:]
print(subject_key_identifier)
Here's a certificate for testing:
EU-59F1280800000000000000000000000000000001.cer.txt
Metadata
Metadata
Assignees
Labels
No labels