| Index: net/data/cert_issuer_source_static_unittest/generate-certs.py
|
| diff --git a/net/data/cert_issuer_source_static_unittest/generate-certs.py b/net/data/cert_issuer_source_static_unittest/generate-certs.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..c67cc81ebe4129e5ede3e224eec1d2b6155dd2bd
|
| --- /dev/null
|
| +++ b/net/data/cert_issuer_source_static_unittest/generate-certs.py
|
| @@ -0,0 +1,74 @@
|
| +#!/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
|
| + I1_1 i1_2 I2
|
| + | | |
|
| + | | |
|
| + | | |
|
| + | | |
|
| + v v v
|
| + C1 C2 D
|
| +
|
| +I1 (i1_1.pem) and i1 (i1_2.pem) have subjects that are equal after
|
| +normalization.
|
| +
|
| +C1 and C2 should (attempt to) chain up through both I1 and i1, since I1 and i1
|
| +have the same the name (after normalization).
|
| +"""
|
| +
|
| +import os
|
| +import sys
|
| +sys.path += [os.path.join('..', 'verify_certificate_chain_unittest')]
|
| +
|
| +import common
|
| +
|
| +
|
| +def write_cert_to_file(cert, filename):
|
| + common.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 = common.create_self_signed_root_certificate('Root')
|
| +write_cert_to_file(root, 'root.pem')
|
| +
|
| +
|
| +# Intermediary certificates
|
| +i1_1 = common.create_intermediary_certificate('I1', root)
|
| +write_cert_to_file(i1_1, 'i1_1.pem')
|
| +
|
| +# same name (after normalization), different key
|
| +i1_2 = common.create_intermediary_certificate('i1', root)
|
| +write_cert_to_file(i1_2, 'i1_2.pem')
|
| +
|
| +# different name
|
| +i2 = common.create_intermediary_certificate('I2', root)
|
| +write_cert_to_file(i2, 'i2.pem')
|
| +
|
| +
|
| +# target certs
|
| +
|
| +c1 = common.create_end_entity_certificate('C1', i1_1)
|
| +write_cert_to_file(c1, 'c1.pem')
|
| +
|
| +c2 = common.create_end_entity_certificate('C2', i1_2)
|
| +write_cert_to_file(c2, 'c2.pem')
|
| +
|
| +d = common.create_end_entity_certificate('D', i2)
|
| +write_cert_to_file(d, 'd.pem')
|
| +
|
| +
|
|
|