| 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, so it is a violation for | 
|  | 14 it to have a subordinate intermediary.""" | 
|  | 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('Intermediary1', root) | 
|  | 23 intermediary1.GetExtensions().SetProperty('basicConstraints', 'critical,CA:true,
    pathlen:0') | 
|  | 24 | 
|  | 25 # Another intermediary (with the same pathlen restriction) | 
|  | 26 intermediary2 = common.CreateIntermediaryCertificate('Intermediary2', intermedia
    ry1) | 
|  | 27 intermediary2.GetExtensions().SetProperty('basicConstraints', 'critical,CA:true,
    pathlen:0') | 
|  | 28 | 
|  | 29 # Target certificate. | 
|  | 30 target = common.CreateEndEntityCertificate('Target', intermediary2) | 
|  | 31 | 
|  | 32 chain = [target, intermediary2, intermediary1] | 
|  | 33 trusted = [root] | 
|  | 34 time = common.DEFAULT_TIME | 
|  | 35 verify_result = False | 
|  | 36 | 
|  | 37 common.WriteTestFile(description, chain, trusted, time, verify_result) | 
| OLD | NEW | 
|---|