OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2016 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2016 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Certificate chain with 1 intermediate, where the root certificate is expired | 6 """Certificate chain with 1 intermediate, where the root certificate is expired |
7 (violates validity.notAfter). Verification is expected to succeed as | 7 (violates validity.notAfter). Verification is expected to succeed as |
8 the trust anchor has no constraints (so expiration of the certificate is not | 8 the trust anchor has no constraints (so expiration of the certificate is not |
9 enforced).""" | 9 enforced).""" |
10 | 10 |
| 11 import sys |
| 12 sys.path += ['..'] |
| 13 |
11 import common | 14 import common |
12 | 15 |
13 # Self-signed root certificate (used as trust anchor). | 16 # Self-signed root certificate (used as trust anchor). |
14 root = common.create_self_signed_root_certificate('Root') | 17 root = common.create_self_signed_root_certificate('Root') |
15 root.set_validity_range(common.JANUARY_1_2015_UTC, common.MARCH_1_2015_UTC) | 18 root.set_validity_range(common.JANUARY_1_2015_UTC, common.MARCH_1_2015_UTC) |
16 | 19 |
17 # Intermediate certificate. | 20 # Intermediate certificate. |
18 intermediate = common.create_intermediate_certificate('Intermediate', root) | 21 intermediate = common.create_intermediate_certificate('Intermediate', root) |
19 intermediate.set_validity_range(common.JANUARY_1_2015_UTC, | 22 intermediate.set_validity_range(common.JANUARY_1_2015_UTC, |
20 common.JANUARY_1_2016_UTC) | 23 common.JANUARY_1_2016_UTC) |
21 | 24 |
22 # Target certificate. | 25 # Target certificate. |
23 target = common.create_end_entity_certificate('Target', intermediate) | 26 target = common.create_end_entity_certificate('Target', intermediate) |
24 target.set_validity_range(common.JANUARY_1_2015_UTC, common.JANUARY_1_2016_UTC) | 27 target.set_validity_range(common.JANUARY_1_2015_UTC, common.JANUARY_1_2016_UTC) |
25 | 28 |
26 chain = [target, intermediate] | |
27 trusted = common.TrustAnchor(root, constrained=False) | |
28 | 29 |
29 # Both the target and intermediate are valid at this time, however the | 30 # Both the target and intermediate are valid at this time, however the |
30 # root is not. This doesn't matter since the root certificate is | 31 # root is not. This doesn't matter since the root certificate is |
31 # just a delivery mechanism for the name + SPKI. | 32 # just a delivery mechanism for the name + SPKI. |
32 time = common.MARCH_2_2015_UTC | |
33 key_purpose = common.DEFAULT_KEY_PURPOSE | |
34 verify_result = True | |
35 errors = None | |
36 | 33 |
37 common.write_test_file(__doc__, chain, trusted, time, key_purpose, | 34 chain = [target, intermediate, root] |
38 verify_result, errors) | 35 common.write_chain(__doc__, chain, 'chain.pem') |
OLD | NEW |