| Index: net/data/verify_certificate_chain_unittest/generate-intermediary-lacks-signing-key-usage.py | 
| diff --git a/net/data/verify_certificate_chain_unittest/generate-intermediary-lacks-signing-key-usage.py b/net/data/verify_certificate_chain_unittest/generate-intermediary-lacks-signing-key-usage.py | 
| new file mode 100755 | 
| index 0000000000000000000000000000000000000000..561cfbf1aaca76e49a587cee2a3bec7abfe13572 | 
| --- /dev/null | 
| +++ b/net/data/verify_certificate_chain_unittest/generate-intermediary-lacks-signing-key-usage.py | 
| @@ -0,0 +1,28 @@ | 
| +#!/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. | 
| + | 
| +"""Certificate chain with 1 intermediary and a trusted root. The intermediary | 
| +contains a keyUsage extension, HOWEVER it does not contain the keyCertSign bit. | 
| +Hence validation is expected to fail.""" | 
| + | 
| +import common | 
| + | 
| +# Self-signed root certificate (part of trust store). | 
| +root = common.CreateSelfSignedRootCertificate('Root') | 
| + | 
| +# Intermediary that is missing keyCertSign. | 
| +intermediary = common.CreateIntermediaryCertificate('Intermediary', root) | 
| +intermediary.GetExtensions().SetProperty('keyUsage', | 
| +    'critical,digitalSignature,keyEncipherment') | 
| + | 
| +# Target certificate. | 
| +target = common.CreateEndEntityCertificate('Target', intermediary) | 
| + | 
| +chain = [target, intermediary] | 
| +trusted = [root] | 
| +time = common.DEFAULT_TIME | 
| +verify_result = False | 
| + | 
| +common.WriteTestFile(__doc__, chain, trusted, time, verify_result) | 
|  |