Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(598)

Side by Side Diff: net/data/verify_certificate_chain_unittest/violates-basic-constraints-pathlen-0/generate-chains.py

Issue 2805213004: Refactor how net/data/verify_certificate_chain_unittest/* (Closed)
Patch Set: fix android Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2015 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2015 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 2 intermediates. The first intermediate has a basic 6 """Certificate chain with 2 intermediates. The first intermediate has a basic
7 constraints path length of 0, so it is a violation for it to have a subordinate 7 constraints path length of 0, so it is a violation for it to have a subordinate
8 intermediate.""" 8 intermediate."""
9 9
10 import sys
11 sys.path += ['..']
12
10 import common 13 import common
11 14
12 # Self-signed root certificate (used as trust anchor). 15 # Self-signed root certificate (used as trust anchor).
13 root = common.create_self_signed_root_certificate('Root') 16 root = common.create_self_signed_root_certificate('Root')
14 17
15 # Intermediate with pathlen 0 18 # Intermediate with pathlen 0
16 intermediate1 = common.create_intermediate_certificate('Intermediate1', root) 19 intermediate1 = common.create_intermediate_certificate('Intermediate1', root)
17 intermediate1.get_extensions().set_property('basicConstraints', 20 intermediate1.get_extensions().set_property('basicConstraints',
18 'critical,CA:true,pathlen:0') 21 'critical,CA:true,pathlen:0')
19 22
20 # Another intermediate (with the same pathlen restriction) 23 # Another intermediate (with the same pathlen restriction)
21 intermediate2 = common.create_intermediate_certificate('Intermediate2', 24 intermediate2 = common.create_intermediate_certificate('Intermediate2',
22 intermediate1) 25 intermediate1)
23 intermediate2.get_extensions().set_property('basicConstraints', 26 intermediate2.get_extensions().set_property('basicConstraints',
24 'critical,CA:true,pathlen:0') 27 'critical,CA:true,pathlen:0')
25 28
26 # Target certificate. 29 # Target certificate.
27 target = common.create_end_entity_certificate('Target', intermediate2) 30 target = common.create_end_entity_certificate('Target', intermediate2)
28 31
29 chain = [target, intermediate2, intermediate1] 32 chain = [target, intermediate2, intermediate1, root]
30 trusted = common.TrustAnchor(root, constrained=False) 33 common.write_chain(__doc__, chain, 'chain.pem')
31 time = common.DEFAULT_TIME
32 key_purpose = common.DEFAULT_KEY_PURPOSE
33 verify_result = False
34 errors = """----- Certificate i=1 (CN=Intermediate2) -----
35 ERROR: max_path_length reached
36
37 """
38
39 common.write_test_file(__doc__, chain, trusted, time, key_purpose,
40 verify_result, errors)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698