| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 #!/usr/bin/python | 
|  | 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 | 
|  | 4 # found in the LICENSE file. | 
|  | 5 | 
|  | 6 import os | 
|  | 7 import sys | 
|  | 8 | 
|  | 9 sys.path.insert(0, os.path.dirname(__file__)) | 
|  | 10 import common | 
|  | 11 | 
|  | 12 description = """Certificate chain with 2 intermediaries. The first | 
|  | 13 intermediary has a basic constraints path length of 0. The second one is | 
|  | 14 self-issued so does not count against the path length.""" | 
|  | 15 | 
|  | 16 common.Init(__file__) | 
|  | 17 | 
|  | 18 # Self-signed root certificate (part of trust store). | 
|  | 19 root = common.CreateSelfSignedRootCertificate('Root') | 
|  | 20 | 
|  | 21 # Intermediary with pathlen 0 | 
|  | 22 intermediary1 = common.CreateIntermediaryCertificate('Intermediary', root) | 
|  | 23 intermediary1.GetExtensions().SetProperty('basicConstraints', | 
|  | 24                                           'critical,CA:true,pathlen:0') | 
|  | 25 | 
|  | 26 # Another intermediary (with the same pathlen restriction). | 
|  | 27 # Note that this is self-issued but NOT self-signed. | 
|  | 28 intermediary2 = common.CreateIntermediaryCertificate('Intermediary', intermediar
    y1) | 
|  | 29 intermediary2.GetExtensions().SetProperty('basicConstraints', 'critical,CA:true,
    pathlen:0') | 
|  | 30 | 
|  | 31 # Target certificate. | 
|  | 32 target = common.CreateEndEntityCertificate('Target', intermediary2) | 
|  | 33 | 
|  | 34 chain = [target, intermediary2, intermediary1] | 
|  | 35 trusted = [root] | 
|  | 36 time = common.DEFAULT_TIME | 
|  | 37 verify_result = True | 
|  | 38 | 
|  | 39 common.WriteTestFile(description, chain, trusted, time, verify_result) | 
| OLD | NEW | 
|---|