1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00

add x509-cert tests

This commit is contained in:
Kelly Brazil
2022-07-05 18:59:55 -07:00
parent f179da8cd1
commit 625544f53e
9 changed files with 480 additions and 0 deletions

BIN
tests/fixtures/generic/x509-ca-cert.der vendored Normal file

Binary file not shown.

View File

@ -0,0 +1 @@
[{"tbs_certificate":{"version":"v3","serial_number":"60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb","signature":{"algorithm":"sha256_rsa","parameters":null},"issuer":{"country_name":"US","organization_name":"thawte, Inc.","organizational_unit_name":["Certification Services Division","(c) 2008 thawte, Inc. - For authorized use only"],"common_name":"thawte Primary Root CA - G3"},"validity":{"not_before":1207094400,"not_after":2143324799,"not_before_iso":"2008-04-02T00:00:00+00:00","not_after_iso":"2037-12-01T23:59:59+00:00"},"subject":{"country_name":"US","organization_name":"thawte, Inc.","organizational_unit_name":["Certification Services Division","(c) 2008 thawte, Inc. - For authorized use only"],"common_name":"thawte Primary Root CA - G3"},"subject_public_key_info":{"algorithm":{"algorithm":"rsa","parameters":null},"public_key":{"modulus":"b2:bf:27:2c:fb:db:d8:5b:dd:78:7b:1b:9e:77:66:81:cb:3e:bc:7c:ae:f3:a6:27:9a:34:a3:68:31:71:38:33:62:e4:f3:71:66:79:b1:a9:65:a3:a5:8b:d5:8f:60:2d:3f:42:cc:aa:6b:32:c0:23:cb:2c:41:dd:e4:df:fc:61:9c:e2:73:b2:22:95:11:43:18:5f:c4:b6:1f:57:6c:0a:05:58:22:c8:36:4c:3a:7c:a5:d1:cf:86:af:88:a7:44:02:13:74:71:73:0a:42:59:02:f8:1b:14:6b:42:df:6f:5f:ba:6b:82:a2:9d:5b:e7:4a:bd:1e:01:72:db:4b:74:e8:3b:7f:7f:7d:1f:04:b4:26:9b:e0:b4:5a:ac:47:3d:55:b8:d7:b0:26:52:28:01:31:40:66:d8:d9:24:bd:f6:2a:d8:ec:21:49:5c:9b:f6:7a:e9:7f:55:35:7e:96:6b:8d:93:93:27:cb:92:bb:ea:ac:40:c0:9f:c2:f8:80:cf:5d:f4:5a:dc:ce:74:86:a6:3e:6c:0b:53:ca:bd:92:ce:19:06:72:e6:0c:5c:38:69:c7:04:d6:bc:6c:ce:5b:f6:f7:68:9c:dc:25:15:48:88:a1:e9:a9:f8:98:9c:e0:f3:d5:31:28:61:11:6c:67:96:8d:39:99:cb:c2:45:24:39","public_exponent":65537}},"issuer_unique_id":null,"subject_unique_id":null,"extensions":[{"extn_id":"basic_constraints","critical":true,"extn_value":{"ca":true,"path_len_constraint":null}},{"extn_id":"key_usage","critical":true,"extn_value":["crl_sign","key_cert_sign"]},{"extn_id":"key_identifier","critical":false,"extn_value":"ad:6c:aa:94:60:9c:ed:e4:ff:fa:3e:0a:74:2b:63:03:f7:b6:59:bf"}]},"signature_algorithm":{"algorithm":"sha256_rsa","parameters":null},"signature_value":"1a:40:d8:95:65:ac:09:92:89:c6:39:f4:10:e5:a9:0e:66:53:5d:78:de:fa:24:91:bb:e7:44:51:df:c6:16:34:0a:ef:6a:44:51:ea:2b:07:8a:03:7a:c3:eb:3f:0a:2c:52:16:a0:2b:43:b9:25:90:3f:70:a9:33:25:6d:45:1a:28:3b:27:cf:aa:c3:29:42:1b:df:3b:4c:c0:33:34:5b:41:88:bf:6b:2b:65:af:28:ef:b2:f5:c3:aa:66:ce:7b:56:ee:b7:c8:cb:67:c1:c9:9c:1a:18:b8:c4:c3:49:03:f1:60:0e:50:cd:46:c5:f3:77:79:f7:b6:15:e0:38:db:c7:2f:28:a0:0c:3f:77:26:74:d9:25:12:da:31:da:1a:1e:dc:29:41:91:22:3c:69:a7:bb:02:f2:b6:5c:27:03:89:f4:06:ea:9b:e4:72:82:e3:a1:09:c1:e9:00:19:d3:3e:d4:70:6b:ba:71:a6:aa:58:ae:f4:bb:e9:6c:b6:ef:87:cc:9b:bb:ff:39:e6:56:61:d3:0a:a7:c4:5c:4c:60:7b:05:77:26:7a:bf:d8:07:52:2c:62:f7:70:63:d9:39:bc:6f:1c:c2:79:dc:76:29:af:ce:c5:2c:64:04:5e:88:36:6e:31:d4:40:1a:62:34:36:3f:35:01:ae:ac:63:a0"}]

View File

@ -0,0 +1 @@
[{"tbs_certificate":{"version":"v3","serial_number":"f7:f9:4e:5f:30:7d:ba:c6","signature":{"algorithm":"sha256_rsa","parameters":null},"issuer":{"country_name":"US","state_or_province_name":"California","locality_name":"San Francisco","organization_name":"BadSSL","common_name":"BadSSL Client Root Certificate Authority"},"validity":{"not_before":1652822124,"not_after":1715894124,"not_before_iso":"2022-05-17T21:15:24+00:00","not_after_iso":"2024-05-16T21:15:24+00:00"},"subject":{"country_name":"US","state_or_province_name":"California","locality_name":"San Francisco","organization_name":"BadSSL","common_name":"BadSSL Client Certificate"},"subject_public_key_info":{"algorithm":{"algorithm":"rsa","parameters":null},"public_key":{"modulus":"c7:37:5f:11:eb:1e:4e:cf:eb:ba:48:e5:cb:a3:12:2c:73:3e:46:1d:1e:9c:0d:c0:8b:83:23:da:c7:65:df:5c:77:49:b3:e8:7a:7d:3c:ba:d5:61:8c:f9:a5:c4:85:1d:92:23:06:e3:e7:df:7b:b3:7e:26:d0:cb:1b:be:42:6b:16:69:f4:2c:72:b5:7e:e4:cb:0a:28:44:12:6c:46:74:21:99:03:dc:6b:c3:11:58:02:41:23:3f:b0:fc:bf:b7:00:59:13:22:a5:81:7f:24:fe:d5:53:bc:4d:52:8f:90:4a:46:74:b0:e8:bd:93:a6:cd:90:00:4a:2f:7f:b2:3f:a3:ea:03:3b:01:a0:a2:0d:e6:53:7f:61:12:eb:a6:9b:03:9a:4e:a7:ad:10:e8:e1:1d:c2:0f:ef:09:42:5f:6a:b8:4a:0e:98:bd:b6:3d:cf:ea:a4:e8:cb:d6:38:0e:20:54:84:e7:2d:e0:c1:bc:c3:95:f0:98:a0:02:f9:57:e6:f2:d6:fb:b4:c8:94:a1:4d:32:bc:a2:8e:70:be:98:5c:15:f1:07:69:0f:70:e6:31:60:da:1b:5d:ab:df:54:11:1d:c1:2a:e3:43:b8:bf:b3:7a:3a:86:41:90:96:6f:45:ec:93:c4:b9:58:1b:97:f2:5d:c1:ae:b8:39:82:2a:8d","public_exponent":65537}},"issuer_unique_id":null,"subject_unique_id":null,"extensions":[{"extn_id":"basic_constraints","critical":false,"extn_value":{"ca":false,"path_len_constraint":null}},{"extn_id":"netscape_certificate_type","critical":false,"extn_value":["ssl_client"]},{"extn_id":"key_usage","critical":false,"extn_value":["digital_signature","key_encipherment","non_repudiation"]}]},"signature_algorithm":{"algorithm":"sha256_rsa","parameters":null},"signature_value":"52:34:ca:43:bc:95:21:c5:fa:1d:bd:0c:3b:94:3f:d6:c0:96:ae:3e:7b:61:86:a6:da:94:80:cd:4a:13:2c:e7:11:7d:13:af:0b:c6:63:a9:54:b8:4d:f9:c9:3f:1e:0d:74:ee:db:c9:bf:04:7b:48:6e:18:93:cf:2c:3c:e9:bf:35:48:e0:03:34:1e:11:6c:30:f2:5a:4a:49:f5:d5:54:2d:69:79:c9:a3:bc:a5:73:ea:43:0a:ac:bc:79:09:12:14:40:43:16:95:c5:65:f1:67:f0:6c:b1:33:60:f5:a1:23:68:e6:47:94:52:ef:44:85:85:92:9b:54:ba:61:aa:45:c1:0f:0d:38:6a:4a:f0:47:9d:cf:b3:7e:1c:e1:45:7e:b3:53:54:78:ed:96:7d:89:66:86:49:f6:cd:de:3a:df:69:88:a3:41:1f:7d:60:63:c1:6c:b3:f8:a0:f0:1b:5f:94:d9:a2:19:ee:15:68:06:4f:50:1c:f4:83:f1:9f:13:64:db:47:a0:cc:5b:19:f6:8b:f6:b2:bf:b9:39:16:d9:e6:19:0f:ce:c2:10:15:ea:58:06:58:0c:04:7a:5a:2b:ae:a1:f3:3f:6e:2f:9c:56:0c:7c:85:c2:7f:d0:17:fb:ab:c4:1d:42:fb:fc:4b:96:ff:3c:30:d2:d6:9d:ae:09:25:2c:b6:cc:43:51:df:4b:3e:78:f2:d8:bc:34:b9:81:6d:f2:3a:38:12:4d:64:25:32:e8:a8:8b:e5:5b:24:3a:9e:a5:67:29:3c:34:57:34:c0:b2:b2:6e:80:b5:96:0e:69:7f:fb:e0:f0:36:98:2d:93:fd:1c:2f:28:30:c9:31:9b:3a:3f:48:bb:fd:e8:83:40:59:05:64:74:35:d7:5e:17:b1:6f:5a:ab:63:24:8f:d0:51:58:c8:2c:ab:a8:84:aa:44:b2:13:09:51:26:3b:6e:35:7d:85:41:45:24:54:a9:92:7f:8f:d6:e9:20:03:06:45:64:d6:58:f3:d1:7e:01:7e:16:0b:45:e1:b9:a1:e3:2c:43:ff:1c:9a:aa:e4:c7:82:cb:80:86:d7:3f:17:2c:96:31:93:1b:d4:41:64:24:c0:36:6e:14:b9:ed:eb:da:6d:48:52:1f:31:c1:11:c0:69:71:e0:04:97:11:4f:a4:c6:fc:3a:69:93:b9:02:0a:e0:d2:6b:9e:88:0e:69:1a:e0:fd:17:37:80:01:f4:d0:27:c3:01:f4:64:c5:fc:44:ca:d7:e9:75:55:be:61:fd:5d:7c:ee:47:1d:5b:f6:15:d8:5e:00:dd:23:b3:fa:95:f4:61:79:04:6a:b6:82:97:6c:ab:be:78:c1:8d"}]

View File

@ -0,0 +1,64 @@
Bag Attributes
localKeyID: 68 B5 22 00 77 DE 8B BE AE D8 E1 C2 54 0F EC 6C 16 B4 18 A8
subject=/C=US/ST=California/L=San Francisco/O=BadSSL/CN=BadSSL Client Certificate
issuer=/C=US/ST=California/L=San Francisco/O=BadSSL/CN=BadSSL Client Root Certificate Authority
-----BEGIN CERTIFICATE-----
MIIEnTCCAoWgAwIBAgIJAPf5Tl8wfbrGMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV
BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4gRnJhbmNp
c2NvMQ8wDQYDVQQKDAZCYWRTU0wxMTAvBgNVBAMMKEJhZFNTTCBDbGllbnQgUm9v
dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMjIwNTE3MjExNTI0WhcNMjQwNTE2
MjExNTI0WjBvMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQG
A1UEBwwNU2FuIEZyYW5jaXNjbzEPMA0GA1UECgwGQmFkU1NMMSIwIAYDVQQDDBlC
YWRTU0wgQ2xpZW50IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAxzdfEeseTs/rukjly6MSLHM+Rh0enA3Ai4Mj2sdl31x3SbPoen08
utVhjPmlxIUdkiMG4+ffe7N+JtDLG75CaxZp9CxytX7kywooRBJsRnQhmQPca8MR
WAJBIz+w/L+3AFkTIqWBfyT+1VO8TVKPkEpGdLDovZOmzZAASi9/sj+j6gM7AaCi
DeZTf2ES66abA5pOp60Q6OEdwg/vCUJfarhKDpi9tj3P6qToy9Y4DiBUhOct4MG8
w5XwmKAC+Vfm8tb7tMiUoU0yvKKOcL6YXBXxB2kPcOYxYNobXavfVBEdwSrjQ7i/
s3o6hkGQlm9F7JPEuVgbl/Jdwa64OYIqjQIDAQABoy0wKzAJBgNVHRMEAjAAMBEG
CWCGSAGG+EIBAQQEAwIHgDALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQELBQADggIB
AFI0ykO8lSHF+h29DDuUP9bAlq4+e2GGptqUgM1KEyznEX0TrwvGY6lUuE35yT8e
DXTu28m/BHtIbhiTzyw86b81SOADNB4RbDDyWkpJ9dVULWl5yaO8pXPqQwqsvHkJ
EhRAQxaVxWXxZ/BssTNg9aEjaOZHlFLvRIWFkptUumGqRcEPDThqSvBHnc+zfhzh
RX6zU1R47ZZ9iWaGSfbN3jrfaYijQR99YGPBbLP4oPAbX5TZohnuFWgGT1Ac9IPx
nxNk20egzFsZ9ov2sr+5ORbZ5hkPzsIQFepYBlgMBHpaK66h8z9uL5xWDHyFwn/Q
F/urxB1C+/xLlv88MNLWna4JJSy2zENR30s+ePLYvDS5gW3yOjgSTWQlMuioi+Vb
JDqepWcpPDRXNMCysm6AtZYOaX/74PA2mC2T/RwvKDDJMZs6P0i7/eiDQFkFZHQ1
114XsW9aq2Mkj9BRWMgsq6iEqkSyEwlRJjtuNX2FQUUkVKmSf4/W6SADBkVk1ljz
0X4BfhYLReG5oeMsQ/8cmqrkx4LLgIbXPxcsljGTG9RBZCTANm4Uue3r2m1IUh8x
wRHAaXHgBJcRT6TG/Dppk7kCCuDSa56IDmka4P0XN4AB9NAnwwH0ZMX8RMrX6XVV
vmH9XXzuRx1b9hXYXgDdI7P6lfRheQRqtoKXbKu+eMGN
-----END CERTIFICATE-----
Bag Attributes
localKeyID: 68 B5 22 00 77 DE 8B BE AE D8 E1 C2 54 0F EC 6C 16 B4 18 A8
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIRZnUXGoJtbUCAggA
MBQGCCqGSIb3DQMHBAjgV2LmquuUdwSCBMjaZtNVgqmwUsevUBY4Rx3+Y+Z4lfHT
7BJqv53p0hOMZdaLRAhK4hHfTLrtQRYK+rEroTF1gElfTUnmjdGBs0b2sLaNrRAW
3W5nv//r6HahZ4RmsBOHS2GBj4V3BEa2c2VdjyZ+HuZ/nnqMQyNzBooLXctkyp0/
10UO4a8IU0iPPRI+Zu4d/A1UAGDW2RRbNiYBDbUNdplZr0T1y5vC2felHHptlp8i
cslBR4ASRllYG/kjC6fyI+Jz5yGaFKd3Jlr9wc7cMml8rMHTQrhYScHK2D1L3Bgp
yK3sa9EVu7lBlBAEs8vjl5RE5rO6G487wZpmCX21j3lh6IOyjEEJXPfiFOZxt6Zn
437Aumr84MvuTyPP8mI65B/grdsvth8R8k8dns0n9SKWmW84jtkwRa3yHx3g/9ef
lz5uqHoO1J3+em/rFrj+eJXTrXE4Sqe2Ohb96bs+6ho2Hz8+B+zoQfeGV2/nPduC
Lty/VVnr5YoRPfbmin4rmbmVrURLLRnQ4RujbVKp4msmEQIYa/B6sMzY7gSKFFpT
jJm2nLy0eU0FEWbXPTDn0qi5vcHo7lIahBLX6TRTcV4vkhh9miPQc64TwB+tIjhf
B0/k3gjBblmIbBIb+6N9LZRqO5D4CIN7Su6w3e0lmdVIR+NvU1NMynpVsJvkM44j
YVfQQFckHe0BdmAdsZrcjyTe35P/lNwssZ58XiM3P3W7zrhL2infXJ5sZQ9QOdqS
hIoSSBigGF7CAl2UqZ4G/Yf2MvbswtH9RjRIwZGDA09PrKwfa5lK2y9RnyEeC0Qn
OPis+XmzIA+brOwpDOIdVN6AmZWtyxQnlp+Ad26wm5ACAM5hH1uAJ3Pro9+sDK0J
dDp3LH6eehjt1NJfpmj9yDxgXchsouo2JeE/+Nc46uDc+vEe23bmi9xMqvhlidIT
XtGWjyIWs69iEa78qg+HonHM+ahq7ugSj3zwkKXDc3+67ia5/J6RWh4CiH5+AIt+
5hpgEYZLtAR13JaMm/fH+2loV2vgX55for3CoVbo5pYm2s5Kk+tJ8MFVHw7Khr6i
l+3EEuxfmtT/CqXhusMJ5Yh1sNpCIw14wBGI5Bey9Dw5Su57vE1cZndO94O6XI7t
kK4zxtYy47UU5wOGf5VrUJhEr/YY0hjB5zDRlLoEkXGQ9NmcW3X956b2NeqnX4Tz
xP5hEvOYFKKyn3XPXtjvY+X8cGMmvhOSQ7/C8uz0G0+IpiYI99H8Yxl+26OiPxdI
u4XLEJg3/L82OKs0ekUkNYowGJnlxDQ40wWZUBQonn1imqY3OKn4gXr5OxDvCqX2
fXF2eYkOTmOQGpfjBPcdfDwcRU7eCUS/csW1Ri/XyGI+xdX9SG+2grXLqA1o/BFX
aTxSx5Yw6tZ7knhj53KtxFX8AFSPLQ5CJxsC5YyNAuj7ALsKZtJlZA34kXh23+bS
yAZ/ABg/Us6+F7TXnGPItETChwgCwEK637vQmxeQ4A/Y63HWUEAWkdUiinWjKDXS
NjVDK67Qj3KoOz4Qr4lNZuFkbIE7ipWhQpRudM2NBlYOLlSp2eg2AE97BPi9zM3v
TWSxEAt03CPm1fZtUvsxnlT5LFfZt/EiZpWRaHAyNIAu7kHDThBcYb2ms82aSRVq
DUc=
-----END ENCRYPTED PRIVATE KEY-----

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,56 @@
-----BEGIN CERTIFICATE-----
MIIJ7zCCCNegAwIBAgISBMFHpRZxqK2Eb+XP7MpCzMKtMA0GCSqGSIb3DQEBCwUA
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yMjA2MTUwMjQwMzZaFw0yMjA5MTMwMjQwMzVaMB0xGzAZBgNVBAMT
EnRscy5hdXRvbWF0dGljLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMJLRf7n8exofN3lm7YtKzHdXJ/UTwcZ19bFamtEOOznxYj/iPJ1Ru8Q5Sid
Lc8/YNFluWlEm1mZ+4sAzXGIhwowKhe/XZfhwFaYrYfFAJ7GvSV43p7X7lNanxYj
UV7zqAlCcNEtbxFulH7bHUX8Cg355aKHM/Rx0jnlIiKbhjGXtT3RNWiijXUuTK4U
K1HNkM/WQ9RJgD9Cqx8hNwUe6ggN4E3gtsxIu/R+jukNOgKFia7Q9Jr3hWsNWMkf
ptusDNU9YrhFqHcxP1HGhNz+HNi1o5MueJ3k/nJ6gelvJv5MYTpVbb34SjhoXpfj
NsPWvDErx8it7mRWPw/qS/mlsWsCAwEAAaOCBxIwggcOMA4GA1UdDwEB/wQEAwIF
oDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAd
BgNVHQ4EFgQUY89QX9I+oHVhhtlgG+zZ2N3HMFowHwYDVR0jBBgwFoAUFC6zF7dY
VsuuUAlA5h+vnYsUwsYwVQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRw
Oi8vcjMuby5sZW5jci5vcmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9yMy5pLmxlbmNy
Lm9yZy8wggTgBgNVHREEggTXMIIE04IIYmFmZmwuY2GCFGJsb2cua2VsbHlicmF6
aWwuY29tggpicm8tcGEub3JnghRjb21wZXRlbmNlLmdhbWUuYmxvZ4IaZGlydHly
b3VsZXR0ZTM2Ni5nYW1lLmJsb2eCEGdpZnRzYnlwZWFybC5jb22CCWdpdW1hbi5t
ZYIYZ2xvYmFsdHJhbnNhY3RvcnNsdGQuY29tghhncmlsbHRpbWVyZXN0YXVyYW50
cy5jb22CG2d1cmVhbWV0c2V0YWtvbG9yYXRlZ2lhLmNvbYIUaGFwcHlsdWNreWVu
am95LmJsb2eCHmhlYWx0aGJhc2VkYmVhdXR5LmZpdG5lc3MuYmxvZ4IVaGVhbHRo
aXNrbm93bGVkZ2UuY29tghJpbWFrZTNkZGVzaWducy5jb22CFGphdmFzY3JpcHQu
Z2FtZS5ibG9ngiRqb3VybmV5aW5nYmFja3Rvd2VsbG5lc3MuaGVhbHRoLmJsb2eC
EGpxdWVyeS5nYW1lLmJsb2eCGWthaGxlcnRyZWdpb25hbGNhbmNlci5vcmeCG2th
cm1hZGVzaWduc3R1ZGlvcy5ncmFwaGljc4IUbm90aWNpYS5zY2llbmNlLmJsb2eC
FXJleXZpbmdhbWVyLmdhbWUuYmxvZ4IWc2FpbGluZ3Jlc2ZlcmJlci5jby51a4IS
c3RhcmR1c3QuZ2FtZS5ibG9nghZzd2VldGxvdmUuZmFzaGlvbi5ibG9nghJ0bHMu
YXV0b21hdHRpYy5jb22CE3dhbmRlcmx1c3R3YXR0cy5jb22CGHd3dy5hbmdlbGd1
YXJkaWFucy5sZWdhbIIMd3d3LmJhZmZsLmNhghh3d3cuYmxvZy5rZWxseWJyYXpp
bC5jb22CDnd3dy5icm8tcGEub3Jnghh3d3cuY29tcGV0ZW5jZS5nYW1lLmJsb2eC
Hnd3dy5kaXJ0eXJvdWxldHRlMzY2LmdhbWUuYmxvZ4IUd3d3LmdpZnRzYnlwZWFy
bC5jb22CDXd3dy5naXVtYW4ubWWCHHd3dy5nbG9iYWx0cmFuc2FjdG9yc2x0ZC5j
b22CHHd3dy5ncmlsbHRpbWVyZXN0YXVyYW50cy5jb22CH3d3dy5ndXJlYW1ldHNl
dGFrb2xvcmF0ZWdpYS5jb22CGHd3dy5oYXBweWx1Y2t5ZW5qb3kuYmxvZ4Iid3d3
LmhlYWx0aGJhc2VkYmVhdXR5LmZpdG5lc3MuYmxvZ4IZd3d3LmhlYWx0aGlza25v
d2xlZGdlLmNvbYIWd3d3LmltYWtlM2RkZXNpZ25zLmNvbYIYd3d3LmphdmFzY3Jp
cHQuZ2FtZS5ibG9ngih3d3cuam91cm5leWluZ2JhY2t0b3dlbGxuZXNzLmhlYWx0
aC5ibG9nghR3d3cuanF1ZXJ5LmdhbWUuYmxvZ4Idd3d3LmthaGxlcnRyZWdpb25h
bGNhbmNlci5vcmeCH3d3dy5rYXJtYWRlc2lnbnN0dWRpb3MuZ3JhcGhpY3OCGXd3
dy5yZXl2aW5nYW1lci5nYW1lLmJsb2eCHHd3dy5ydXBsYXlpbmdib2FyZC5nYW1l
LmJsb2eCFnd3dy5zdGFyZHVzdC5nYW1lLmJsb2eCGnd3dy5zd2VldGxvdmUuZmFz
aGlvbi5ibG9nMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgw
JgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBBAYKKwYB
BAHWeQIEAgSB9QSB8gDwAHYARqVV63X6kSAwtaKJafTzfREsQXS+/Um4havy/HD+
bUcAAAGBZXLjRAAABAMARzBFAiEA3mFZbt4cdXwo1z54gNOFX4r/k4WN40rk9y+Z
HTa0xGICIGrNI2v0J0GkHZyVzTa+LSSbh6o8FBVwX/Xp+tEU3N/aAHYAb1N2rDHw
MRnYmQCkURX/dxUcEdkCwQApBo2yCJo32RMAAAGBZXLkGAAABAMARzBFAiEA9UBQ
vJnC6aJ0eoP57GvlxYliWjewDFHkHBH3i7ukl9kCIAc1Tl1BO++DnxjgWGAGY1Ei
LYyCrrJep8Jc+C1LUBSGMA0GCSqGSIb3DQEBCwUAA4IBAQCorctPt+y50cBQjt3h
FJPLvuVuRQcq65Lwvj29DuZFx415PgnXQEjWiiJDEDkUEej5uKVSMpAMkpR0V79u
PbA/zqEGX5viCtpa/4NPKCusy2cDC3uGqtdgwktv/Wa9jWHRSCQpXENJTnkqjjpG
O86b9uWf3O3IrdSm7uMzr0w0QSfeuNVj30WPpxF4cSin2ClfC4viB0TJVL7go3eC
LQdc8E4KEQZr3JD33/tgKJbwgdxNJKhTD+PQ8CL6XqfrqeRf1Mxwt8W5fEvpOqob
qMgqsod51W1jtC5+1ySa/A2PrAS7mM4Frm8HC0nN1q35N33/G/zmOiWb6tO4u6eD
RIRt
-----END CERTIFICATE-----

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,285 @@
-----BEGIN CERTIFICATE-----
MIIGJzCCBA+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBsjELMAkGA1UEBhMCRlIx
DzANBgNVBAgMBkFsc2FjZTETMBEGA1UEBwwKU3RyYXNib3VyZzEYMBYGA1UECgwP
d3d3LmZyZWVsYW4ub3JnMRAwDgYDVQQLDAdmcmVlbGFuMS0wKwYDVQQDDCRGcmVl
bGFuIFNhbXBsZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxIjAgBgkqhkiG9w0BCQEW
E2NvbnRhY3RAZnJlZWxhbi5vcmcwHhcNMTIwNDI3MTAzMTE4WhcNMjIwNDI1MTAz
MTE4WjB+MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGQWxzYWNlMRgwFgYDVQQKDA93
d3cuZnJlZWxhbi5vcmcxEDAOBgNVBAsMB2ZyZWVsYW4xDjAMBgNVBAMMBWFsaWNl
MSIwIAYJKoZIhvcNAQkBFhNjb250YWN0QGZyZWVsYW4ub3JnMIICIjANBgkqhkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEA3W29+ID6194bH6ejLrIC4hb2Ugo8v6ZC+Mrc
k2dNYMNPjcOKABvxxEtBamnSaeU/IY7FC/giN622LEtV/3oDcrua0+yWuVafyxmZ
yTKUb4/GUgafRQPf/eiX9urWurtIK7XgNGFNUjYPq4dSJQPPhwCHE/LKAykWnZBX
RrX0Dq4XyApNku0IpjIjEXH+8ixE12wH8wt7DEvdO7T3N3CfUbaITl1qBX+Nm2Z6
q4Ag/u5rl8NJfXg71ZmXA3XOj7zFvpyapRIZcPmkvZYn7SMCp8dXyXHPdpSiIWL2
uB3KiO4JrUYvt2GzLBUThp+lNSZaZ/Q3yOaAAUkOx+1h08285Pi+P8lO+H2Xic4S
vMq1xtLg2bNoPC5KnbRfuFPuUD2/3dSiiragJ6uYDLOyWJDivKGt/72OVTEPAL9o
6T2pGZrwbQuiFGrGTMZOvWMSpQtNl+tCCXlT4mWqJDRwuMGrI4DnnGzt3IKqNwS4
Qyo9KqjMIPwnXZAmWPm3FOKe4sFwc5fpawKO01JZewDsYTDxVj+cwXwFxbE2yBiF
z2FAHwfopwaH35p3C6lkcgP2k/zgAlnBluzACUI+MKJ/G0gv/uAhj1OHJQ3L6kn1
SpvQ41/ueBjlunExqQSYD7GtZ1Kg8uOcq2r+WISE3Qc9MpQFFkUVllmgWGwYDuN3
Zsez95kCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNT
TCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFFlfyRO6G8y5qEFKikl5
ajb2fT7XMB8GA1UdIwQYMBaAFCNsLT0+KV14uGw+quK7Lh5sh/JTMA0GCSqGSIb3
DQEBBQUAA4ICAQAT5wJFPqervbja5+90iKxi1d0QVtVGB+z6aoAMuWK+qgi0vgvr
mu9ot2lvTSCSnRhjeiP0SIdqFMORmBtOCFk/kYDp9M/91b+vS+S9eAlxrNCB5VOf
PqxEPp/wv1rBcE4GBO/c6HcFon3F+oBYCsUQbZDKSSZxhDm3mj7pb67FNbZbJIzJ
70HDsRe2O04oiTx+h6g6pW3cOQMgIAvFgKN5Ex727K4230B0NIdGkzuj4KSML0NM
slSAcXZ41OoSKNjy44BVEZv0ZdxTDrRM4EwJtNyggFzmtTuV02nkUj1bYYYC5f0L
ADr6s0XMyaNk8twlWYlYDZ5uKDpVRVBfiGcq0uJIzIvemhuTrofh8pBQQNkPRDFT
Rq1iTo1Ihhl3/Fl1kXk1WR3jTjNb4jHX7lIoXwpwp767HAPKGhjQ9cFbnHMEtkro
RlJYdtRq5mccDtwT0GFyoJLLBZdHHMHJz0F9H7FNk2tTQQMhK5MVYwg+LIaee586
CQVqfbscp7evlgjLW98H+5zylRHAgoH2G79aHljNKMp9BOuq6SnEglEsiWGVtu2l
hnx8SB3sVJZHeer8f/UQQwqbAO+Kdy70NmbSaqaVtp8jOxLiidWkwSyRTsuU6D8i
DiH5uEqBXExjrj0FslxcVKdVj5glVcSmkLwZKbEU1OKwleT/iXFhvooWhQ==
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 2 (0x2)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=FR, ST=Alsace, L=Strasbourg, O=www.freelan.org, OU=freelan, CN=Freelan Sample Certificate Authority/emailAddress=contact@freelan.org
Validity
Not Before: Apr 27 10:54:40 2012 GMT
Not After : Apr 25 10:54:40 2022 GMT
Subject: C=FR, ST=Alsace, O=www.freelan.org, OU=freelan, CN=bob/emailAddress=contact@freelan.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:c2:3f:43:14:4a:d4:dd:43:5a:b9:43:5e:2d:bb:
89:a1:17:18:f7:ae:47:4b:7a:f4:d4:dc:a3:e1:b7:
85:3a:10:20:eb:bc:51:18:d8:8b:25:c6:04:95:4f:
80:e9:05:5c:00:f4:7c:23:7b:d1:ad:81:58:f1:9d:
43:c3:37:ee:7f:61:03:b5:ff:29:bb:10:1a:fb:a8:
77:97:9b:de:4c:7d:3f:ca:ff:53:8c:37:30:b6:88:
f2:0e:be:7c:dc:92:76:c9:5f:22:96:19:0b:91:ea:
9c:18:96:9f:43:d1:9d:22:9e:d9:c3:12:9f:80:05:
85:1f:70:bb:87:5d:63:c1:5a:51:3d:7e:69:3d:76:
6d:b0:56:ea:db:3f:ae:f0:cd:0c:19:48:b1:f2:d5:
2e:e7:fa:12:dd:15:bc:8c:dc:09:c2:26:9c:dc:22:
52:8e:c8:1c:c1:cd:01:bd:1a:24:c5:be:4f:18:08:
f3:de:59:1c:8f:63:a6:63:1d:4f:5a:92:68:7a:49:
94:26:54:d1:83:be:16:e4:5e:8f:73:2f:81:3a:3a:
30:80:fd:57:a9:7f:1b:7b:e5:0f:6c:01:68:f7:1f:
45:49:fe:06:3c:08:57:64:27:a5:0b:55:18:b7:30:
be:08:45:70:8b:cd:43:ea:fc:80:1e:03:5c:c3:52:
8d:a9:55:53:55:f4:61:2e:8b:50:64:6a:30:a7:6f:
bd:b8:80:12:ee:66:98:d8:78:5f:a0:f5:65:6a:6d:
f5:09:cc:62:4d:55:56:80:21:75:48:73:4d:b9:e3:
f9:1d:96:c9:2c:5d:79:4d:3c:c5:7a:9e:84:ff:9d:
c7:94:87:0a:3e:69:81:d2:7f:c0:5f:67:9c:06:8c:
33:5c:a3:9f:52:e7:04:c7:d3:81:ef:b2:77:1e:d0:
57:1f:1f:90:a5:69:c0:0d:43:c5:f6:a6:7e:f7:ea:
45:7c:60:b6:68:1f:64:59:dc:60:33:c2:13:8c:b7:
06:c2:2a:cd:cc:2b:02:de:a2:e9:70:0c:db:79:fe:
ce:eb:5e:c0:06:eb:76:43:09:e0:2a:c7:ee:1e:6a:
af:60:49:73:3c:a8:53:8c:e1:39:2c:e7:9e:fe:fd:
44:20:f0:85:9a:1f:eb:c7:40:c8:5b:90:43:e6:a1:
6a:00:50:4b:73:73:72:c5:39:77:13:1e:3c:95:be:
a9:37:6a:d1:4e:34:3d:34:ec:87:f8:1e:6c:e7:dc:
8b:7f:8e:d1:3c:78:c2:e2:09:93:d7:c0:68:ae:70:
81:b9:f0:d0:f7:26:a4:e2:c0:12:1d:2f:01:63:eb:
53:05:cb:aa:db:66:b0:fb:16:9b:e7:e7:be:c3:66:
da:5c:c9
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
9C:D2:71:50:35:F7:10:43:DD:E8:CE:75:29:A3:53:5D:11:A7:A8:3B
X509v3 Authority Key Identifier:
keyid:23:6C:2D:3D:3E:29:5D:78:B8:6C:3E:AA:E2:BB:2E:1E:6C:87:F2:53
Signature Algorithm: sha1WithRSAEncryption
c3:b0:a4:82:f5:64:e5:4e:a0:e5:74:5e:c4:3d:d0:9c:f7:4e:
f7:8d:af:8b:2e:80:59:63:b5:6e:2f:10:5b:66:d6:29:2a:ca:
e2:01:20:68:e1:2b:ff:d6:e1:e1:f2:a6:e0:cc:f5:8f:9f:5c:
72:b8:fa:81:76:7d:5c:ee:60:29:e5:d7:de:8f:4a:9c:55:3e:
e5:27:1c:76:bc:35:e7:16:80:6f:32:77:fd:57:ae:51:87:fb:
be:c2:a1:cc:76:9a:61:01:c9:ff:86:00:ff:d1:96:cd:ff:2c:
0f:48:9e:ae:83:d8:df:d4:78:1d:4c:37:87:f5:58:5d:26:c6:
ca:16:cd:fa:16:1d:6f:42:ae:57:4a:99:45:52:80:5c:1c:76:
42:a8:f8:f3:15:9c:1b:3e:36:01:e0:09:5e:d8:19:b1:ed:a0:
ef:3b:c7:09:a7:aa:5f:b6:2d:c1:20:84:9b:2c:87:1a:2b:35:
de:9e:9c:0c:d9:0c:5e:cf:51:38:d6:d6:80:ae:91:15:b5:c6:
22:df:7e:17:9f:c3:eb:bf:fd:d5:3b:4b:ea:66:00:72:a0:b5:
b7:65:a8:5a:d9:a8:f1:67:c1:41:d8:79:dd:cc:2f:78:7a:9e:
5e:0a:9d:77:0e:59:52:49:d2:10:94:1c:eb:f4:3c:04:0e:3c:
1c:1a:75:a6:e8:23:d5:f0:73:14:90:b1:71:5a:32:57:8d:34:
d7:6a:61:dc:73:1a:da:1d:1f:56:a7:2e:ef:0d:a4:f5:fb:94:
0b:f4:cf:1d:d2:10:0f:07:cd:ba:9d:78:87:e8:04:63:6a:e5:
7a:6b:20:bd:bd:29:c2:39:5b:fc:86:84:77:0b:e3:f8:2c:37:
ac:af:1b:ed:4f:b9:d6:08:a3:ac:2f:31:07:4a:f8:8e:cf:11:
dd:92:1c:c9:aa:c7:a5:b7:62:a4:77:6e:58:20:78:17:cb:5e:
ef:6d:41:eb:b6:c2:1f:7f:a1:de:fa:bb:71:92:20:de:b1:5e:
34:84:6c:ed:6c:e1:43:86:13:f0:3f:d7:2d:c5:ba:c0:de:37:
8d:48:bc:df:c7:4f:b3:a6:a5:e5:c2:db:f1:ef:db:0c:25:69:
e6:58:8d:ba:72:bd:5e:3f:cf:81:36:b6:ab:ee:a8:67:8f:ee:
bb:fe:6f:c9:1f:8a:1f:ef:e9:c9:7a:52:40:ad:a0:3f:23:45:
7a:63:95:98:3d:12:b8:e2:f3:0b:88:10:38:04:68:b0:f1:a7:
8b:d0:61:d7:0f:2f:cf:17:51:21:eb:76:69:2d:19:e8:01:c5:
33:fd:61:cd:46:64:87:89:43:e9:31:d0:be:88:a0:a2:82:0c:
7f:9f:66:41:3a:9a:5a:6a
-----BEGIN CERTIFICATE-----
MIIGJTCCBA2gAwIBAgIBAjANBgkqhkiG9w0BAQUFADCBsjELMAkGA1UEBhMCRlIx
DzANBgNVBAgMBkFsc2FjZTETMBEGA1UEBwwKU3RyYXNib3VyZzEYMBYGA1UECgwP
d3d3LmZyZWVsYW4ub3JnMRAwDgYDVQQLDAdmcmVlbGFuMS0wKwYDVQQDDCRGcmVl
bGFuIFNhbXBsZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxIjAgBgkqhkiG9w0BCQEW
E2NvbnRhY3RAZnJlZWxhbi5vcmcwHhcNMTIwNDI3MTA1NDQwWhcNMjIwNDI1MTA1
NDQwWjB8MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGQWxzYWNlMRgwFgYDVQQKDA93
d3cuZnJlZWxhbi5vcmcxEDAOBgNVBAsMB2ZyZWVsYW4xDDAKBgNVBAMMA2JvYjEi
MCAGCSqGSIb3DQEJARYTY29udGFjdEBmcmVlbGFuLm9yZzCCAiIwDQYJKoZIhvcN
AQEBBQADggIPADCCAgoCggIBAMI/QxRK1N1DWrlDXi27iaEXGPeuR0t69NTco+G3
hToQIOu8URjYiyXGBJVPgOkFXAD0fCN70a2BWPGdQ8M37n9hA7X/KbsQGvuod5eb
3kx9P8r/U4w3MLaI8g6+fNySdslfIpYZC5HqnBiWn0PRnSKe2cMSn4AFhR9wu4dd
Y8FaUT1+aT12bbBW6ts/rvDNDBlIsfLVLuf6Et0VvIzcCcImnNwiUo7IHMHNAb0a
JMW+TxgI895ZHI9jpmMdT1qSaHpJlCZU0YO+FuRej3MvgTo6MID9V6l/G3vlD2wB
aPcfRUn+BjwIV2QnpQtVGLcwvghFcIvNQ+r8gB4DXMNSjalVU1X0YS6LUGRqMKdv
vbiAEu5mmNh4X6D1ZWpt9QnMYk1VVoAhdUhzTbnj+R2WySxdeU08xXqehP+dx5SH
Cj5pgdJ/wF9nnAaMM1yjn1LnBMfTge+ydx7QVx8fkKVpwA1DxfamfvfqRXxgtmgf
ZFncYDPCE4y3BsIqzcwrAt6i6XAM23n+zutewAbrdkMJ4CrH7h5qr2BJczyoU4zh
OSznnv79RCDwhZof68dAyFuQQ+ahagBQS3NzcsU5dxMePJW+qTdq0U40PTTsh/ge
bOfci3+O0Tx4wuIJk9fAaK5wgbnw0PcmpOLAEh0vAWPrUwXLqttmsPsWm+fnvsNm
2lzJAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wg
R2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBSc0nFQNfcQQ93oznUpo1Nd
EaeoOzAfBgNVHSMEGDAWgBQjbC09PildeLhsPqriuy4ebIfyUzANBgkqhkiG9w0B
AQUFAAOCAgEAw7CkgvVk5U6g5XRexD3QnPdO942viy6AWWO1bi8QW2bWKSrK4gEg
aOEr/9bh4fKm4Mz1j59ccrj6gXZ9XO5gKeXX3o9KnFU+5Sccdrw15xaAbzJ3/Veu
UYf7vsKhzHaaYQHJ/4YA/9GWzf8sD0ieroPY39R4HUw3h/VYXSbGyhbN+hYdb0Ku
V0qZRVKAXBx2Qqj48xWcGz42AeAJXtgZse2g7zvHCaeqX7YtwSCEmyyHGis13p6c
DNkMXs9RONbWgK6RFbXGIt9+F5/D67/91TtL6mYAcqC1t2WoWtmo8WfBQdh53cwv
eHqeXgqddw5ZUknSEJQc6/Q8BA48HBp1pugj1fBzFJCxcVoyV40012ph3HMa2h0f
Vqcu7w2k9fuUC/TPHdIQDwfNup14h+gEY2rlemsgvb0pwjlb/IaEdwvj+Cw3rK8b
7U+51gijrC8xB0r4js8R3ZIcyarHpbdipHduWCB4F8te721B67bCH3+h3vq7cZIg
3rFeNIRs7WzhQ4YT8D/XLcW6wN43jUi838dPs6al5cLb8e/bDCVp5liNunK9Xj/P
gTa2q+6oZ4/uu/5vyR+KH+/pyXpSQK2gPyNFemOVmD0SuOLzC4gQOARosPGni9Bh
1w8vzxdRIet2aS0Z6AHFM/1hzUZkh4lD6THQvoigooIMf59mQTqaWmo=
-----END CERTIFICATE-----
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 3 (0x3)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=FR, ST=Alsace, L=Strasbourg, O=www.freelan.org, OU=freelan, CN=Freelan Sample Certificate Authority/emailAddress=contact@freelan.org
Validity
Not Before: Apr 27 10:54:53 2012 GMT
Not After : Apr 25 10:54:53 2022 GMT
Subject: C=FR, ST=Alsace, O=www.freelan.org, OU=freelan, CN=carol/emailAddress=contact@freelan.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:d7:c0:a7:c6:e9:48:c4:53:40:b3:76:d9:2f:37:
28:3d:a3:c4:42:d0:76:cd:08:9b:50:e3:1c:51:e5:
14:72:fa:2b:a0:b1:06:23:f3:c1:ad:92:7c:79:fe:
15:54:d1:e5:67:62:da:ed:81:aa:7e:e2:b1:50:a9:
fb:d8:29:09:da:84:4d:3c:f4:6e:13:ab:0b:d5:ee:
80:63:32:7d:57:af:83:3c:1c:27:ed:ec:67:d6:fd:
1c:13:2d:40:bf:d1:da:bf:7a:b6:67:7e:b0:75:3b:
6d:61:9d:cc:6c:1a:97:f1:56:de:9f:80:d3:16:60:
bb:8a:6f:46:9b:be:34:75:c3:4c:d2:f1:c8:f3:3e:
98:28:30:e4:cb:2d:25:61:62:48:be:2e:dc:ed:90:
93:ae:74:b7:fa:49:43:65:20:ac:8e:fe:52:6c:00:
8e:51:3e:b6:9a:c6:4f:44:1c:7b:84:17:bd:5c:f6:
36:e9:4c:91:89:6f:4e:ad:ac:10:41:c5:c5:65:8a:
20:c8:f7:27:a3:ea:ac:5b:74:09:99:27:88:60:c7:
44:69:18:0c:32:1a:77:f2:47:53:46:e3:12:c5:69:
95:45:15:9a:14:60:76:20:a7:b5:8c:51:bf:5a:57:
19:5a:c7:a8:bc:0b:c4:30:ca:0b:e6:d0:f8:c4:a8:
84:d9:24:a2:92:f6:84:f2:13:ea:a4:93:97:fe:ed:
77:d8:2f:75:7a:2c:39:88:3c:44:56:0a:ef:12:57:
d5:9e:8f:35:8e:7f:84:e7:1a:d1:19:8d:23:db:b5:
ce:c5:7f:e1:88:6d:04:d6:01:de:f0:72:3e:51:95:
1d:4f:30:b6:32:0a:0f:84:b5:00:34:e4:bf:80:71:
10:62:14:c1:32:5a:a9:a6:de:c2:58:e8:52:eb:66:
5a:b8:5e:c2:06:7c:a6:6a:33:f2:1e:8a:41:07:53:
bb:6b:41:92:59:85:79:04:a9:df:56:4c:e0:62:1e:
98:87:95:07:b1:10:49:34:9c:90:4c:0b:83:25:27:
9f:01:27:fb:d0:c4:6e:50:cc:f5:02:47:2c:45:9a:
31:e5:ce:7d:86:8f:db:fd:83:ea:a6:00:49:71:14:
44:a1:8e:9d:ba:a4:a4:cf:9d:15:20:2d:67:76:42:
81:63:a2:76:4e:4b:22:b5:de:3d:d8:f8:e0:43:7f:
a3:10:f0:73:fb:6e:e1:6a:37:99:dc:87:a3:05:4c:
29:f5:63:14:9b:eb:a3:3a:9b:2b:b4:51:f5:05:03:
de:41:e5:cb:1a:8e:76:eb:47:93:53:90:71:c5:8f:
86:5f:9e:0b:4d:33:9c:3c:88:8a:90:9f:90:a6:35:
90:81:f1
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
B5:5D:0D:4F:55:F6:75:1A:23:B3:F5:8C:BC:6B:5A:B6:96:6C:AE:E0
X509v3 Authority Key Identifier:
keyid:23:6C:2D:3D:3E:29:5D:78:B8:6C:3E:AA:E2:BB:2E:1E:6C:87:F2:53
Signature Algorithm: sha1WithRSAEncryption
bf:3f:e7:16:a2:ba:b1:cf:d6:79:f3:84:ed:a5:10:3e:60:42:
0e:d5:1a:c6:e9:b1:39:86:5a:2e:dd:ae:b6:b7:16:33:33:17:
3e:83:f7:a1:f7:b4:1b:09:74:8f:9b:0d:8e:4c:c7:a1:d6:66:
6c:02:3a:b5:f2:72:aa:c9:e4:b3:c6:9d:6e:c0:48:dc:39:21:
30:18:a0:6f:cb:09:be:de:0f:63:83:04:32:73:a7:bc:42:34:
b7:a1:dc:21:21:08:86:65:bc:2e:c5:78:ae:fb:fe:ab:fb:8b:
85:bf:61:e0:e2:aa:52:5f:1e:0d:19:22:13:94:7a:b4:bd:5c:
30:8d:43:22:b4:e9:13:62:7e:3e:f5:e2:7a:2a:3b:da:1f:57:
4a:5d:b8:6c:4c:f5:6e:34:b9:bd:b4:1f:dc:88:d0:28:20:a2:
0c:31:e8:7f:3a:23:b8:60:48:c8:4e:e1:02:62:ae:00:fb:d0:
a5:76:cb:ea:f3:d7:75:0d:9e:56:48:c1:2e:44:c7:0c:9f:03:
b3:ac:96:c5:a2:a0:06:9e:2b:c3:eb:b5:04:15:33:79:4a:9e:
28:94:1d:28:50:98:e3:eb:b5:74:69:7f:69:bc:61:72:d1:8a:
cc:fb:89:be:51:34:81:11:7b:fa:8a:cf:e7:bf:81:91:34:1a:
11:63:92:41:eb:62:7d:7a:2a:5a:2b:a3:85:36:5b:39:08:40:
6b:0d:bc:b7:ed:36:42:60:45:ee:0c:27:f1:41:38:9e:db:99:
8f:0f:ff:1b:ea:02:98:9f:19:21:33:ca:a2:47:89:cb:1d:a9:
4c:94:b6:3d:b2:e2:bf:1d:f7:12:8d:01:ff:77:d6:72:65:70:
ca:80:8e:a2:2d:78:0c:b2:9d:84:3a:50:f9:e8:8e:85:03:58:
eb:0a:d3:5b:d3:55:d0:bd:7d:de:c8:5b:80:ea:0e:53:d6:35:
86:60:10:ed:bd:06:f4:59:15:64:75:4c:bd:2f:fb:8a:fa:c1:
d0:c2:d9:68:09:2b:9a:91:c4:00:b1:65:7d:6d:a8:c2:42:d1:
d7:f1:71:ae:db:96:33:e7:a9:29:27:f3:89:8d:c8:ac:87:14:
fa:a5:cf:ec:b6:1b:a6:03:93:d7:ef:7f:49:b0:d5:22:fe:9e:
5a:1b:e1:ff:e9:e3:71:fa:e9:09:3f:b4:1a:33:ae:3a:60:27:
d2:e6:2f:12:f4:32:54:be:29:be:fc:14:a5:2a:2d:99:88:e0:
9d:d0:c6:07:e1:76:fb:96:60:0e:4c:d9:93:bd:26:29:2a:8f:
49:d9:f6:7d:7a:bc:34:31:84:81:4f:28:e1:e8:5e:cf:45:b1:
c1:8a:2b:e0:52:72:5f:19
-----BEGIN CERTIFICATE-----
MIIGJzCCBA+gAwIBAgIBAzANBgkqhkiG9w0BAQUFADCBsjELMAkGA1UEBhMCRlIx
DzANBgNVBAgMBkFsc2FjZTETMBEGA1UEBwwKU3RyYXNib3VyZzEYMBYGA1UECgwP
d3d3LmZyZWVsYW4ub3JnMRAwDgYDVQQLDAdmcmVlbGFuMS0wKwYDVQQDDCRGcmVl
bGFuIFNhbXBsZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxIjAgBgkqhkiG9w0BCQEW
E2NvbnRhY3RAZnJlZWxhbi5vcmcwHhcNMTIwNDI3MTA1NDUzWhcNMjIwNDI1MTA1
NDUzWjB+MQswCQYDVQQGEwJGUjEPMA0GA1UECAwGQWxzYWNlMRgwFgYDVQQKDA93
d3cuZnJlZWxhbi5vcmcxEDAOBgNVBAsMB2ZyZWVsYW4xDjAMBgNVBAMMBWNhcm9s
MSIwIAYJKoZIhvcNAQkBFhNjb250YWN0QGZyZWVsYW4ub3JnMIICIjANBgkqhkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEA18CnxulIxFNAs3bZLzcoPaPEQtB2zQibUOMc
UeUUcvoroLEGI/PBrZJ8ef4VVNHlZ2La7YGqfuKxUKn72CkJ2oRNPPRuE6sL1e6A
YzJ9V6+DPBwn7exn1v0cEy1Av9Hav3q2Z36wdTttYZ3MbBqX8Vben4DTFmC7im9G
m740dcNM0vHI8z6YKDDkyy0lYWJIvi7c7ZCTrnS3+klDZSCsjv5SbACOUT62msZP
RBx7hBe9XPY26UyRiW9OrawQQcXFZYogyPcno+qsW3QJmSeIYMdEaRgMMhp38kdT
RuMSxWmVRRWaFGB2IKe1jFG/WlcZWseovAvEMMoL5tD4xKiE2SSikvaE8hPqpJOX
/u132C91eiw5iDxEVgrvElfVno81jn+E5xrRGY0j27XOxX/hiG0E1gHe8HI+UZUd
TzC2MgoPhLUANOS/gHEQYhTBMlqppt7CWOhS62ZauF7CBnymajPyHopBB1O7a0GS
WYV5BKnfVkzgYh6Yh5UHsRBJNJyQTAuDJSefASf70MRuUMz1AkcsRZox5c59ho/b
/YPqpgBJcRREoY6duqSkz50VIC1ndkKBY6J2Tksitd492PjgQ3+jEPBz+27hajeZ
3IejBUwp9WMUm+ujOpsrtFH1BQPeQeXLGo5260eTU5BxxY+GX54LTTOcPIiKkJ+Q
pjWQgfECAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNT
TCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFLVdDU9V9nUaI7P1jLxr
WraWbK7gMB8GA1UdIwQYMBaAFCNsLT0+KV14uGw+quK7Lh5sh/JTMA0GCSqGSIb3
DQEBBQUAA4ICAQC/P+cWorqxz9Z584TtpRA+YEIO1RrG6bE5hlou3a62txYzMxc+
g/eh97QbCXSPmw2OTMeh1mZsAjq18nKqyeSzxp1uwEjcOSEwGKBvywm+3g9jgwQy
c6e8QjS3odwhIQiGZbwuxXiu+/6r+4uFv2Hg4qpSXx4NGSITlHq0vVwwjUMitOkT
Yn4+9eJ6KjvaH1dKXbhsTPVuNLm9tB/ciNAoIKIMMeh/OiO4YEjITuECYq4A+9Cl
dsvq89d1DZ5WSMEuRMcMnwOzrJbFoqAGnivD67UEFTN5Sp4olB0oUJjj67V0aX9p
vGFy0YrM+4m+UTSBEXv6is/nv4GRNBoRY5JB62J9eipaK6OFNls5CEBrDby37TZC
YEXuDCfxQTie25mPD/8b6gKYnxkhM8qiR4nLHalMlLY9suK/HfcSjQH/d9ZyZXDK
gI6iLXgMsp2EOlD56I6FA1jrCtNb01XQvX3eyFuA6g5T1jWGYBDtvQb0WRVkdUy9
L/uK+sHQwtloCSuakcQAsWV9bajCQtHX8XGu25Yz56kpJ/OJjcishxT6pc/sthum
A5PX739JsNUi/p5aG+H/6eNx+ukJP7QaM646YCfS5i8S9DJUvim+/BSlKi2ZiOCd
0MYH4Xb7lmAOTNmTvSYpKo9J2fZ9erw0MYSBTyjh6F7PRbHBiivgUnJfGQ==
-----END CERTIFICATE-----

71
tests/test_x509_cert.py Normal file
View File

@ -0,0 +1,71 @@
import os
import unittest
import json
import jc.parsers.x509_cert
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
def setUp(self):
# input
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-ca-cert.der'), 'rb') as f:
self.x509_ca_cert = f.read()
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-cert-and-key.pem'), 'rb') as f:
self.x509_cert_and_key_pem = f.read()
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-letsencrypt.pem'), 'rb') as f:
self.x509_letsencrypt = f.read()
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-multi-cert.pem'), 'rb') as f:
self.x509_multi_cert = f.read()
# output
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-ca-cert.json'), 'r', encoding='utf-8') as f:
self.x509_ca_cert_json = json.loads(f.read())
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-cert-and-key.json'), 'r', encoding='utf-8') as f:
self.x509_cert_and_key_pem_json = json.loads(f.read())
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-letsencrypt.json'), 'r', encoding='utf-8') as f:
self.x509_letsencrypt_json = json.loads(f.read())
with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/x509-multi-cert.json'), 'r', encoding='utf-8') as f:
self.x509_multi_cert_json = json.loads(f.read())
def test_x509_cert_nodata(self):
"""
Test 'x509_cert' with no data
"""
self.assertEqual(jc.parsers.x509_cert.parse('', quiet=True), [])
def test_x509_ca_cert(self):
"""
Test 'cat x509-ca-cert.der' (CA cert in DER format)
"""
self.assertEqual(jc.parsers.x509_cert.parse(self.x509_ca_cert, quiet=True), self.x509_ca_cert_json)
def test_x509_cert_and_key(self):
"""
Test 'cat x509-cert-and-key.pem' (combo cert and key file in PEM format)
"""
self.assertEqual(jc.parsers.x509_cert.parse(self.x509_cert_and_key_pem, quiet=True), self.x509_cert_and_key_pem_json)
def test_x509_letsencrypt(self):
"""
Test 'cat x509-letsencrypt.pem' (letsencrypt cert in PEM format)
"""
self.assertEqual(jc.parsers.x509_cert.parse(self.x509_letsencrypt, quiet=True), self.x509_letsencrypt_json)
def test_x509_multi_cert(self):
"""
Test 'cat x509-multi-cert.pem' (PEM file with multiple certificates)
"""
self.assertEqual(jc.parsers.x509_cert.parse(self.x509_letsencrypt, quiet=True), self.x509_letsencrypt_json)
if __name__ == '__main__':
unittest.main()