Chromium Code Reviews| Index: net/tools/testserver/minica.py |
| diff --git a/net/tools/testserver/minica.py b/net/tools/testserver/minica.py |
| index d882b19483a949639a0f649aabebaef1abb983fd..941f4af58ef437fc692f27821a3213050dc9c8f3 100644 |
| --- a/net/tools/testserver/minica.py |
| +++ b/net/tools/testserver/minica.py |
| @@ -159,20 +159,19 @@ CERT_POLICY_OID = asn1.OID([1, 3, 6, 1, 4, 1, 11129, 2, 4, 1]) |
| # These result in the following root certificate: |
| # -----BEGIN CERTIFICATE----- |
| -# MIIB0TCCATqgAwIBAgIBATANBgkqhkiG9w0BAQUFADAVMRMwEQYDVQQDEwpUZXN0aW5nIENBMB4X |
| +# MIIBzTCCATagAwIBAgIBATANBgkqhkiG9w0BAQsFADAVMRMwEQYDVQQDEwpUZXN0aW5nIENBMB4X |
| # DTEwMDEwMTA2MDAwMFoXDTMyMTIwMTA2MDAwMFowFTETMBEGA1UEAxMKVGVzdGluZyBDQTCBnTAN |
| # BgkqhkiG9w0BAQEFAAOBiwAwgYcCgYEApxmY8pML/nPQMah/Ez0vN47u7tUqd+RND8n/bwf/Msvz |
| # 2pmd5O1lgyr8sIB/mHh1BlOdJYoM48LHeWdlMJmpA0qbEVqHbDmoxOTtSs0MZAlZRvs57utHoHBN |
| -# uwGKz0jDocS4lfxAn7SjQKmGsa/EVRmrnspHwwGFx3HGSqXs8H0CAQOjMzAxMBIGA1UdEwEB/wQI |
| -# MAYBAf8CAQAwGwYDVR0gAQEABBEwDzANBgsrBgEEAdZ5AgHODzANBgkqhkiG9w0BAQUFAAOBgQA/ |
| -# STb40A6D+93jMfLGQzXc997IsaJZdoPt7tYa8PqGJBL62EiTj+erd/H5pDZx/2/bcpOG4m9J56yg |
| -# wOohbllw2TM+oeEd8syzV6X+1SIPnGI56JRrm3UXcHYx1Rq5loM9WKAiz/WmIWmskljsEQ7+542p |
| -# q0pkHjs8nuXovSkUYA== |
| +# uwGKz0jDocS4lfxAn7SjQKmGsa/EVRmrnspHwwGFx3HGSqXs8H0CAQOjLzAtMBIGA1UdEwEB/wQI |
| +# MAYBAf8CAQAwFwYDVR0gBBAwDjAMBgorBgEEAdZ5AgQBMA0GCSqGSIb3DQEBCwUAA4GBAHJJigXg |
| +# ArH/E9n3AilgivA58hawSRVqiTHHv7oAguDRrA4zC8IvsL6b/6LV7nA3KWM0OUSZSGE3zQb9UlB2 |
| +# nNYsPMdv0Ls4GuOzVfy4bnQXqMWIflRw9L5Z5KH8Vu5U3ohoOUCfWN1sYMoeS9/22K9xtRsDPS+d |
| +# pQo7Q6ZoOo8o |
| # -----END CERTIFICATE----- |
| -# If you update any of the above, you can generate a new root with the |
| -# following line: |
| -# print DERToPEM(MakeCertificate(ISSUER_CN, ISSUER_CN, 1, KEY, KEY, None)) |
| +# If you update any of the above, you can generate a new root by running this |
| +# file as a script. |
| # Various OIDs |
| @@ -205,7 +204,7 @@ def MakeCertificate( |
| o = None |
| extensions.children.append( |
| asn1.SEQUENCE([ |
| - basic_constraints, |
| + BASIC_CONSTRAINTS, |
| True, |
| asn1.OCTETSTRING(asn1.ToDER(asn1.SEQUENCE([ |
| True, # IsCA |
| @@ -217,7 +216,8 @@ def MakeCertificate( |
| extensions.children.append( |
| asn1.SEQUENCE([ |
| AUTHORITY_INFORMATION_ACCESS, |
| - False, |
| + # There is implicitly a critical=False here. Since false is the default, |
| + # encoding the value would be invalid DER. |
| asn1.OCTETSTRING(asn1.ToDER(asn1.SEQUENCE([ |
| asn1.SEQUENCE([ |
| AIA_OCSP, |
| @@ -229,7 +229,8 @@ def MakeCertificate( |
| extensions.children.append( |
| asn1.SEQUENCE([ |
| CERT_POLICIES, |
| - False, |
| + # There is implicitly a critical=False here. Since false is the default, |
| + # encoding the value would be invalid DER. |
| asn1.OCTETSTRING(asn1.ToDER(asn1.SEQUENCE([ |
| asn1.SEQUENCE([ # PolicyInformation |
| CERT_POLICY_OID, |
| @@ -438,3 +439,25 @@ def GenerateCertKeyAndOCSP(subject = "127.0.0.1", |
| ISSUER_CN, KEY, serial, ocsp_states, ocsp_dates, ocsp_produced) |
| return (cert_pem + KEY_PEM, ocsp_der) |
| + |
| + |
| +if __name__ == '__main__': |
| + def bin_to_array(s): |
| + return ' '.join(['0x%02x,'%ord(c) for c in s]) |
|
davidben
2016/10/01 17:47:20
Nit: one more space
|
| + |
| + import sys |
| + sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', |
| + '..', 'data', 'ssl', 'scripts')) |
| + import crlsetutil |
| + |
| + der_root = MakeCertificate(ISSUER_CN, ISSUER_CN, 1, KEY, KEY, None) |
| + print 'ocsp-test-root.pem:' |
| + print DERToPEM(der_root) |
| + |
| + print 'kOCSPTestCertFingerprint:' |
| + print bin_to_array(hashlib.sha1(der_root).digest()) |
| + |
| + print 'kOCSPTestCertSPKI:' |
| + print bin_to_array(crlsetutil.der_cert_to_spki_hash(der_root)) |