-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
waiting-on-reporterIssue is waiting on a reply from the reporter. It will be automatically cloesd if there is no reply.Issue is waiting on a reply from the reporter. It will be automatically cloesd if there is no reply.
Description
There's a cert extension in a certificate that causes the extensions property to cause a ValueError parsing asn1 value BasicConstraints::ca. The code here seems to be brittle; I am interested in a different extension but can't access any of them because of the "bad" extension.
Could the cryptography library be a little more robust to this and just fail on accessing the one particular "bad" extension?
$ python
Python 3.14.3 | packaged by conda-forge | (main, Feb 9 2026, 22:17:37) [Clang 20.1.8 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cryptography.x509
>>> cryptography.__version__
'46.0.5'
>>> with open('65213.crt','rb') as f:
cert_raw = f.read()
cert = cryptography.x509.load_pem_x509_certificate(cert_raw)
cert
<Certificate(subject=<Name(O=secure.blueemporia.com,OU=Domain Control Validated,CN=secure.blueemporia.com)>, ...)>
>>> cert.extensions
Traceback (most recent call last):
File "<python-input-3>", line 1, in <module>
cert.extensions
ValueError: error parsing asn1 value: ParseError { kind: EncodedDefault, location: ["BasicConstraints::ca"] }
65213.crt (from crt.sh)
-----BEGIN CERTIFICATE-----
MIIFfTCCBGWgAwIBAgIHKwiHYaSJhjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY
BgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydGlm
aWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkxMDAuBgNVBAMTJ0dvIERhZGR5
IFNlY3VyZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTERMA8GA1UEBRMIMDc5Njky
ODcwHhcNMTEwMjExMTc0MzM1WhcNMTQwMjExMTc0MzM1WjBlMR8wHQYDVQQKExZz
ZWN1cmUuYmx1ZWVtcG9yaWEuY29tMSEwHwYDVQQLExhEb21haW4gQ29udHJvbCBW
YWxpZGF0ZWQxHzAdBgNVBAMTFnNlY3VyZS5ibHVlZW1wb3JpYS5jb20wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwod+kmBvmGA4ZuQ42ps3NSbOHKi6d
icEvGTYvQJ8JZX0CiAj/8nCsOb2+kGvIdF3EMKhiEnZeYIoDd+xefnGZ7YrkzYre
BE5ea8FjHUiFxQk3gLsOPbJuVSoL0UMh7oQO41oOINzed5l4juhCfptdW+XqkgYd
rXbxHNajkCHIcCm22WF0z7WCm+eF0bVfSXJzxZQrp3kegc4i/jWXErC7ziyZLDNX
viC/cj/J//NFqIzOKAn95A0cahpxK5X6VaCh6AfQHVCxUMr3U6sTWnI12Vxpx580
lCUIWhcr6smVGKXWcxAYx0gHZegavArf8nt5tosWQnN+Opt49yPAI57rAgMBAAGj
ggHKMIIBxjAPBgNVHRMBAf8EBTADAQEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
BgEFBQcDAjAOBgNVHQ8BAf8EBAMCBaAwMwYDVR0fBCwwKjAooCagJIYiaHR0cDov
L2NybC5nb2RhZGR5LmNvbS9nZHMxLTMwLmNybDBNBgNVHSAERjBEMEIGC2CGSAGG
/W0BBxcBMDMwMQYIKwYBBQUHAgEWJWh0dHBzOi8vY2VydHMuZ29kYWRkeS5jb20v
cmVwb3NpdG9yeS8wgYAGCCsGAQUFBwEBBHQwcjAkBggrBgEFBQcwAYYYaHR0cDov
L29jc3AuZ29kYWRkeS5jb20vMEoGCCsGAQUFBzAChj5odHRwOi8vY2VydGlmaWNh
dGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvZ2RfaW50ZXJtZWRpYXRlLmNydDAf
BgNVHSMEGDAWgBT9rGEyk2xF1uLuhV+auud2mWjM5zA9BgNVHREENjA0ghZzZWN1
cmUuYmx1ZWVtcG9yaWEuY29tghp3d3cuc2VjdXJlLmJsdWVlbXBvcmlhLmNvbTAd
BgNVHQ4EFgQUjiY9pNW44d7QDPb0hWrhLlYbh0owDQYJKoZIhvcNAQEFBQADggEB
AIe8H25P3y1iUpyvjm6AE/oyB1dUmdRo3Z8LcDVdP0/ML+2YC0UpH8gqaLxmHI+o
ABw833YycKRTT7vPLCRvos2RDc0uKZswoOYM26X++3foGVIZK8h22z+cp6SqbxCy
ialqN1Wmzai5zJYUoPKVuvMiQo1HkvVB7ODAze1MA/YfERd19ZsR5t75DmIwWCfA
Ji52nGg+x3yUP9lzy39Ote6+oyLSBq+QCB+KVIk7pqV13U5T1Dkr081JQcr5iO3Y
iB7Fn7SVrtQusPHeGuHGZz2A2P0JgZuGEE/aaI6udNo/V7vhRyiquyDaVI9hDk+X
LXWCLiOTQT4hXAhmmySgws0=
-----END CERTIFICATE-----
But openssl seems to do just fine:
$ openssl x509 -in 65213.crt -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 12112801550338438 (0x2b088761a48986)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority, serialNumber=07969287
Validity
Not Before: Feb 11 17:43:35 2011 GMT
Not After : Feb 11 17:43:35 2014 GMT
Subject: O=secure.blueemporia.com, OU=Domain Control Validated, CN=secure.blueemporia.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:b0:a1:df:a4:98:1b:e6:18:0e:19:b9:0e:36:a6:
cd:cd:49:b3:87:2a:2e:9d:89:c1:2f:19:36:2f:40:
9f:09:65:7d:02:88:08:ff:f2:70:ac:39:bd:be:90:
6b:c8:74:5d:c4:30:a8:62:12:76:5e:60:8a:03:77:
ec:5e:7e:71:99:ed:8a:e4:cd:8a:de:04:4e:5e:6b:
c1:63:1d:48:85:c5:09:37:80:bb:0e:3d:b2:6e:55:
2a:0b:d1:43:21:ee:84:0e:e3:5a:0e:20:dc:de:77:
99:78:8e:e8:42:7e:9b:5d:5b:e5:ea:92:06:1d:ad:
76:f1:1c:d6:a3:90:21:c8:70:29:b6:d9:61:74:cf:
b5:82:9b:e7:85:d1:b5:5f:49:72:73:c5:94:2b:a7:
79:1e:81:ce:22:fe:35:97:12:b0:bb:ce:2c:99:2c:
33:57:be:20:bf:72:3f:c9:ff:f3:45:a8:8c:ce:28:
09:fd:e4:0d:1c:6a:1a:71:2b:95:fa:55:a0:a1:e8:
07:d0:1d:50:b1:50:ca:f7:53:ab:13:5a:72:35:d9:
5c:69:c7:9f:34:94:25:08:5a:17:2b:ea:c9:95:18:
a5:d6:73:10:18:c7:48:07:65:e8:1a:bc:0a:df:f2:
7b:79:b6:8b:16:42:73:7e:3a:9b:78:f7:23:c0:23:
9e:eb
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 CRL Distribution Points:
Full Name:
URI:http://crl.godaddy.com/gds1-30.crl
X509v3 Certificate Policies:
Policy: 2.16.840.1.114413.1.7.23.1
CPS: https://certs.godaddy.com/repository/
Authority Information Access:
OCSP - URI:http://ocsp.godaddy.com/
CA Issuers - URI:http://certificates.godaddy.com/repository/gd_intermediate.crt
X509v3 Authority Key Identifier:
FD:AC:61:32:93:6C:45:D6:E2:EE:85:5F:9A:BA:E7:76:99:68:CC:E7
X509v3 Subject Alternative Name:
DNS:secure.blueemporia.com, DNS:www.secure.blueemporia.com
X509v3 Subject Key Identifier:
8E:26:3D:A4:D5:B8:E1:DE:D0:0C:F6:F4:85:6A:E1:2E:56:1B:87:4A
Signature Algorithm: sha1WithRSAEncryption
Signature Value:
87:bc:1f:6e:4f:df:2d:62:52:9c:af:8e:6e:80:13:fa:32:07:
57:54:99:d4:68:dd:9f:0b:70:35:5d:3f:4f:cc:2f:ed:98:0b:
45:29:1f:c8:2a:68:bc:66:1c:8f:a8:00:1c:3c:df:76:32:70:
a4:53:4f:bb:cf:2c:24:6f:a2:cd:91:0d:cd:2e:29:9b:30:a0:
e6:0c:db:a5:fe:fb:77:e8:19:52:19:2b:c8:76:db:3f:9c:a7:
a4:aa:6f:10:b2:89:a9:6a:37:55:a6:cd:a8:b9:cc:96:14:a0:
f2:95:ba:f3:22:42:8d:47:92:f5:41:ec:e0:c0:cd:ed:4c:03:
f6:1f:11:17:75:f5:9b:11:e6:de:f9:0e:62:30:58:27:c0:26:
2e:76:9c:68:3e:c7:7c:94:3f:d9:73:cb:7f:4e:b5:ee:be:a3:
22:d2:06:af:90:08:1f:8a:54:89:3b:a6:a5:75:dd:4e:53:d4:
39:2b:d3:cd:49:41:ca:f9:88:ed:d8:88:1e:c5:9f:b4:95:ae:
d4:2e:b0:f1:de:1a:e1:c6:67:3d:80:d8:fd:09:81:9b:86:10:
4f:da:68:8e:ae:74:da:3f:57:bb:e1:47:28:aa:bb:20:da:54:
8f:61:0e:4f:97:2d:75:82:2e:23:93:41:3e:21:5c:08:66:9b:
24:a0:c2:cd
-----BEGIN CERTIFICATE-----
MIIFfTCCBGWgAwIBAgIHKwiHYaSJhjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAY
BgNVBAoTEUdvRGFkZHkuY29tLCBJbmMuMTMwMQYDVQQLEypodHRwOi8vY2VydGlm
aWNhdGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkxMDAuBgNVBAMTJ0dvIERhZGR5
IFNlY3VyZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTERMA8GA1UEBRMIMDc5Njky
ODcwHhcNMTEwMjExMTc0MzM1WhcNMTQwMjExMTc0MzM1WjBlMR8wHQYDVQQKExZz
ZWN1cmUuYmx1ZWVtcG9yaWEuY29tMSEwHwYDVQQLExhEb21haW4gQ29udHJvbCBW
YWxpZGF0ZWQxHzAdBgNVBAMTFnNlY3VyZS5ibHVlZW1wb3JpYS5jb20wggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwod+kmBvmGA4ZuQ42ps3NSbOHKi6d
icEvGTYvQJ8JZX0CiAj/8nCsOb2+kGvIdF3EMKhiEnZeYIoDd+xefnGZ7YrkzYre
BE5ea8FjHUiFxQk3gLsOPbJuVSoL0UMh7oQO41oOINzed5l4juhCfptdW+XqkgYd
rXbxHNajkCHIcCm22WF0z7WCm+eF0bVfSXJzxZQrp3kegc4i/jWXErC7ziyZLDNX
viC/cj/J//NFqIzOKAn95A0cahpxK5X6VaCh6AfQHVCxUMr3U6sTWnI12Vxpx580
lCUIWhcr6smVGKXWcxAYx0gHZegavArf8nt5tosWQnN+Opt49yPAI57rAgMBAAGj
ggHKMIIBxjAPBgNVHRMBAf8EBTADAQEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
BgEFBQcDAjAOBgNVHQ8BAf8EBAMCBaAwMwYDVR0fBCwwKjAooCagJIYiaHR0cDov
L2NybC5nb2RhZGR5LmNvbS9nZHMxLTMwLmNybDBNBgNVHSAERjBEMEIGC2CGSAGG
/W0BBxcBMDMwMQYIKwYBBQUHAgEWJWh0dHBzOi8vY2VydHMuZ29kYWRkeS5jb20v
cmVwb3NpdG9yeS8wgYAGCCsGAQUFBwEBBHQwcjAkBggrBgEFBQcwAYYYaHR0cDov
L29jc3AuZ29kYWRkeS5jb20vMEoGCCsGAQUFBzAChj5odHRwOi8vY2VydGlmaWNh
dGVzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvZ2RfaW50ZXJtZWRpYXRlLmNydDAf
BgNVHSMEGDAWgBT9rGEyk2xF1uLuhV+auud2mWjM5zA9BgNVHREENjA0ghZzZWN1
cmUuYmx1ZWVtcG9yaWEuY29tghp3d3cuc2VjdXJlLmJsdWVlbXBvcmlhLmNvbTAd
BgNVHQ4EFgQUjiY9pNW44d7QDPb0hWrhLlYbh0owDQYJKoZIhvcNAQEFBQADggEB
AIe8H25P3y1iUpyvjm6AE/oyB1dUmdRo3Z8LcDVdP0/ML+2YC0UpH8gqaLxmHI+o
ABw833YycKRTT7vPLCRvos2RDc0uKZswoOYM26X++3foGVIZK8h22z+cp6SqbxCy
ialqN1Wmzai5zJYUoPKVuvMiQo1HkvVB7ODAze1MA/YfERd19ZsR5t75DmIwWCfA
Ji52nGg+x3yUP9lzy39Ote6+oyLSBq+QCB+KVIk7pqV13U5T1Dkr081JQcr5iO3Y
iB7Fn7SVrtQusPHeGuHGZz2A2P0JgZuGEE/aaI6udNo/V7vhRyiquyDaVI9hDk+X
LXWCLiOTQT4hXAhmmySgws0=
-----END CERTIFICATE-----
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
waiting-on-reporterIssue is waiting on a reply from the reporter. It will be automatically cloesd if there is no reply.Issue is waiting on a reply from the reporter. It will be automatically cloesd if there is no reply.