Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: net/data/ssl/scripts/generate-weak-test-chains.sh

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/data/ssl/scripts/generate-test-certs.sh ('k') | net/data/ssl/scripts/policy.cnf » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/bin/sh
2
3 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 # This script generates a set of test (end-entity, intermediate, root)
8 # certificates with (weak, strong), (RSA, DSA, ECDSA) key pairs.
9
10 key_types="768-rsa 1024-rsa 2048-rsa prime256v1-ecdsa"
11
12 try () {
13 echo "$@"
14 "$@" || exit 1
15 }
16
17 generate_key_command () {
18 case "$1" in
19 dsa)
20 echo "dsaparam -genkey"
21 ;;
22 ecdsa)
23 echo "ecparam -genkey"
24 ;;
25 rsa)
26 echo genrsa
27 ;;
28 *)
29 exit 1
30 esac
31 }
32
33 try rm -rf out
34 try mkdir out
35
36 # Create the serial number files.
37 try /bin/sh -c "echo 01 > out/2048-rsa-root-serial"
38 for key_type in $key_types
39 do
40 try /bin/sh -c "echo 01 > out/$key_type-intermediate-serial"
41 done
42
43 # Generate one root CA certificate.
44 try openssl genrsa -out out/2048-rsa-root.key 2048
45
46 CA_COMMON_NAME="2048 RSA Test Root CA" \
47 CA_DIR=out \
48 CA_NAME=req_env_dn \
49 KEY_SIZE=2048 \
50 ALGO=rsa \
51 CERT_TYPE=root \
52 try openssl req \
53 -new \
54 -key out/2048-rsa-root.key \
55 -extensions ca_cert \
56 -out out/2048-rsa-root.csr \
57 -config ca.cnf
58
59 CA_COMMON_NAME="2048 RSA Test Root CA" \
60 CA_DIR=out \
61 CA_NAME=req_env_dn \
62 try openssl x509 \
63 -req -days 3650 \
64 -in out/2048-rsa-root.csr \
65 -extensions ca_cert \
66 -extfile ca.cnf \
67 -signkey out/2048-rsa-root.key \
68 -out out/2048-rsa-root.pem \
69 -text
70
71 # Generate private keys of all types and strengths for intermediate CAs and
72 # end-entities.
73 for key_type in $key_types
74 do
75 key_size=$(echo "$key_type" | sed -E 's/-.+//')
76 algo=$(echo "$key_type" | sed -E 's/.+-//')
77
78 if [ ecdsa = $algo ]
79 then
80 key_size="-name $key_size"
81 fi
82
83 try openssl $(generate_key_command $algo) \
84 -out out/$key_type-intermediate.key $key_size
85 done
86
87 for key_type in $key_types
88 do
89 key_size=$(echo "$key_type" | sed -E 's/-.+//')
90 algo=$(echo "$key_type" | sed -E 's/.+-//')
91
92 if [ ecdsa = $algo ]
93 then
94 key_size="-name $key_size"
95 fi
96
97 for signer_key_type in $key_types
98 do
99 try openssl $(generate_key_command $algo) \
100 -out out/$key_type-ee-by-$signer_key_type-intermediate.key $key_size
101 done
102 done
103
104 # The root signs the intermediates.
105 for key_type in $key_types
106 do
107 key_size=$(echo "$key_type" | sed -E 's/-.+//')
108 algo=$(echo "$key_type" | sed -E 's/.+-//')
109
110 CA_COMMON_NAME="$key_size $algo Test intermediate CA" \
111 CA_DIR=out \
112 CA_NAME=req_env_dn \
113 KEY_SIZE=$key_size \
114 ALGO=$algo \
115 CERT_TYPE=intermediate \
116 try openssl req \
117 -new \
118 -key out/$key_type-intermediate.key \
119 -out out/$key_type-intermediate.csr \
120 -config ca.cnf
121
122 # Make sure the signer's DB file exists.
123 touch out/2048-rsa-root-index.txt
124
125 CA_COMMON_NAME="2048 RSA Test Root CA" \
126 CA_DIR=out \
127 CA_NAME=req_env_dn \
128 KEY_SIZE=2048 \
129 ALGO=rsa \
130 CERT_TYPE=root \
131 try openssl ca \
132 -batch \
133 -extensions ca_cert \
134 -in out/$key_type-intermediate.csr \
135 -out out/$key_type-intermediate.pem \
136 -config ca.cnf
137 done
138
139 # The intermediates sign the end-entities.
140 for key_type in $key_types
141 do
142 for signer_key_type in $key_types
143 do
144 key_size=$(echo "$key_type" | sed -E 's/-.+//')
145 algo=$(echo "$key_type" | sed -E 's/.+-//')
146 signer_key_size=$(echo "$signer_key_type" | sed -E 's/-.+//')
147 signer_algo=$(echo "$signer_key_type" | sed -E 's/.+-//')
148 touch out/$signer_key_type-intermediate-index.txt
149
150 KEY_SIZE=$key_size \
151 try openssl req \
152 -new \
153 -key out/$key_type-ee-by-$signer_key_type-intermediate.key \
154 -out out/$key_type-ee-by-$signer_key_type-intermediate.csr \
155 -config ee.cnf
156
157 CA_COMMON_NAME="$signer_key_size $algo Test intermediate CA" \
158 CA_DIR=out \
159 CA_NAME=req_env_dn \
160 KEY_SIZE=$signer_key_size \
161 ALGO=$signer_algo \
162 CERT_TYPE=intermediate \
163 try openssl ca \
164 -batch \
165 -in out/$key_type-ee-by-$signer_key_type-intermediate.csr \
166 -out out/$key_type-ee-by-$signer_key_type-intermediate.pem \
167 -config ca.cnf
168 done
169 done
170
171 # Copy final outputs.
172 try cp out/*root*pem out/*intermediate*pem ../certificates
OLDNEW
« no previous file with comments | « net/data/ssl/scripts/generate-test-certs.sh ('k') | net/data/ssl/scripts/policy.cnf » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698