12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #!/usr/bin/env python
- # Copyright 2016 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- """Certificates for testing issuer lookup.
- Root
- /| | |\\
- / | | | \\
- / | | | \\
- / | | | \\
- / | | | \\
- v v v v v
- I1_1 i1_2 I2 I3_1 I3_2
- | | | | |
- | | | | |
- | | | | |
- | | | | |
- v v v | |
- C1 C2 D E1 E2
- I1 (i1_1.pem) and i1 (i1_2.pem) have subjects that are equal after
- normalization.
- I3_1 and I3_2 have subjects that are exactly equal.
- C1 and C2 should (attempt to) chain up through both I1 and i1, since I1 and i1
- have the same the name (after normalization).
- E1 and E3 should (attempt to) chain up through both I3 intermediates.
- """
- import os
- import sys
- sys.path += ['..']
- import gencerts
- def write_cert_to_file(cert, filename):
- gencerts.write_string_to_file(
- "Generated by %s.\n"
- "Refer to generator script docstring for details.\n%s" % (
- sys.argv[0], cert.get_cert_pem()),
- filename)
- # Self-signed root certificate
- root = gencerts.create_self_signed_root_certificate('Root')
- write_cert_to_file(root, 'root.pem')
- # Intermediate certificates
- i1_1 = gencerts.create_intermediate_certificate('I1', root)
- write_cert_to_file(i1_1, 'i1_1.pem')
- # same name (after normalization), different key
- i1_2 = gencerts.create_intermediate_certificate('i1', root)
- write_cert_to_file(i1_2, 'i1_2.pem')
- # different name
- i2 = gencerts.create_intermediate_certificate('I2', root)
- write_cert_to_file(i2, 'i2.pem')
- # Two intermediates with exactly the same name.
- i3_1 = gencerts.create_intermediate_certificate('I3', root)
- write_cert_to_file(i3_1, 'i3_1.pem')
- i3_2 = gencerts.create_intermediate_certificate('I3', root)
- write_cert_to_file(i3_2, 'i3_2.pem')
- # target certs
- c1 = gencerts.create_end_entity_certificate('C1', i1_1)
- write_cert_to_file(c1, 'c1.pem')
- c2 = gencerts.create_end_entity_certificate('C2', i1_2)
- write_cert_to_file(c2, 'c2.pem')
- d = gencerts.create_end_entity_certificate('D', i2)
- write_cert_to_file(d, 'd.pem')
- e1 = gencerts.create_end_entity_certificate('E1', i3_1)
- write_cert_to_file(e1, 'e1.pem')
- e2 = gencerts.create_end_entity_certificate('E2', i3_2)
- write_cert_to_file(e2, 'e2.pem')
|