1#!/usr/bin/python 2# Copyright (c) 2016 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""" 7A chain with four possible intermediates with different notBefore and notAfter 8dates, for testing path bulding prioritization. 9""" 10 11import sys 12sys.path += ['../..'] 13 14import gencerts 15 16DATE_A = '150101120000Z' 17DATE_B = '150102120000Z' 18DATE_C = '180101120000Z' 19DATE_D = '180102120000Z' 20 21 22root = gencerts.create_self_signed_root_certificate('Root') 23root.set_validity_range(DATE_A, DATE_D) 24 25int_ac = gencerts.create_intermediate_certificate('Intermediate', root) 26int_ac.set_validity_range(DATE_A, DATE_C) 27 28int_ad = gencerts.create_intermediate_certificate('Intermediate', root) 29int_ad.set_validity_range(DATE_A, DATE_D) 30int_ad.set_key(int_ac.get_key()) 31 32int_bc = gencerts.create_intermediate_certificate('Intermediate', root) 33int_bc.set_validity_range(DATE_B, DATE_C) 34int_bc.set_key(int_ac.get_key()) 35 36int_bd = gencerts.create_intermediate_certificate('Intermediate', root) 37int_bd.set_validity_range(DATE_B, DATE_D) 38int_bd.set_key(int_ac.get_key()) 39 40target = gencerts.create_end_entity_certificate('Target', int_ac) 41target.set_validity_range(DATE_A, DATE_D) 42 43 44gencerts.write_chain('The root', [root], out_pem='root.pem') 45gencerts.write_chain('Intermediate with validity range A..C', 46 [int_ac], out_pem='int_ac.pem') 47gencerts.write_chain('Intermediate with validity range A..D', 48 [int_ad], out_pem='int_ad.pem') 49gencerts.write_chain('Intermediate with validity range B..C', 50 [int_bc], out_pem='int_bc.pem') 51gencerts.write_chain('Intermediate with validity range B..D', 52 [int_bd], out_pem='int_bd.pem') 53gencerts.write_chain('The target', [target], out_pem='target.pem') 54 55