OLD | NEW |
| (Empty) |
1 #!/usr/bin/python | |
2 # Copyright (c) 2017 The Chromium Authors. All rights reserved. | |
3 # Use of this source code is governed by a BSD-style license that can be | |
4 # found in the LICENSE file. | |
5 | |
6 """Certificate chain with 1 intermediate and a trusted root. The intermediate | |
7 restricts the EKU to clientAuth + any, and the target has serverAuth + | |
8 clientAuth. Verification is expected to succeed because intermediate will match | |
9 the "any".""" | |
10 | |
11 import sys | |
12 sys.path += ['..'] | |
13 | |
14 import common | |
15 | |
16 # Self-signed root certificate (used as trust anchor). | |
17 root = common.create_self_signed_root_certificate('Root') | |
18 | |
19 # Intermediate certificate. | |
20 intermediate = common.create_intermediate_certificate('Intermediate', root) | |
21 intermediate.get_extensions().set_property('extendedKeyUsage', | |
22 'clientAuth,anyExtendedKeyUsage') | |
23 | |
24 # Target certificate. | |
25 target = common.create_end_entity_certificate('Target', intermediate) | |
26 target.get_extensions().set_property('extendedKeyUsage', | |
27 'serverAuth,clientAuth') | |
28 | |
29 chain = [target, intermediate, root] | |
30 common.write_chain(__doc__, chain, 'chain.pem') | |
OLD | NEW |