| Index: net/data/verify_certificate_chain_unittest/generate-violates-basic-constraints-pathlen-0.py | 
| diff --git a/net/data/verify_certificate_chain_unittest/generate-violates-basic-constraints-pathlen-0.py b/net/data/verify_certificate_chain_unittest/generate-violates-basic-constraints-pathlen-0.py | 
| new file mode 100755 | 
| index 0000000000000000000000000000000000000000..5a8b32e5fe5650ac7416558a171d3df31cf99100 | 
| --- /dev/null | 
| +++ b/net/data/verify_certificate_chain_unittest/generate-violates-basic-constraints-pathlen-0.py | 
| @@ -0,0 +1,37 @@ | 
| +#!/usr/bin/python | 
| +# Copyright (c) 2015 The Chromium Authors. All rights reserved. | 
| +# Use of this source code is governed by a BSD-style license that can be | 
| +# found in the LICENSE file. | 
| + | 
| +import os | 
| +import sys | 
| + | 
| +sys.path.insert(0, os.path.dirname(__file__)) | 
| +import common | 
| + | 
| +description = """Certificate chain with 2 intermediaries. The first | 
| +intermediary has a basic constraints path length of 0, so it is a violation for | 
| +it to have a subordinate intermediary.""" | 
| + | 
| +common.Init(__file__) | 
| + | 
| +# Self-signed root certificate (part of trust store). | 
| +root = common.CreateSelfSignedRootCertificate('Root') | 
| + | 
| +# Intermediary with pathlen 0 | 
| +intermediary1 = common.CreateIntermediaryCertificate('Intermediary1', root) | 
| +intermediary1.GetExtensions().SetProperty('basicConstraints', 'critical,CA:true,pathlen:0') | 
| + | 
| +# Another intermediary (with the same pathlen restriction) | 
| +intermediary2 = common.CreateIntermediaryCertificate('Intermediary2', intermediary1) | 
| +intermediary2.GetExtensions().SetProperty('basicConstraints', 'critical,CA:true,pathlen:0') | 
| + | 
| +# Target certificate. | 
| +target = common.CreateEndEntityCertificate('Target', intermediary2) | 
| + | 
| +chain = [target, intermediary2, intermediary1] | 
| +trusted = [root] | 
| +time = common.DEFAULT_TIME | 
| +verify_result = False | 
| + | 
| +common.WriteTestFile(description, chain, trusted, time, verify_result) | 
|  |