Chromium Code Reviews| Index: net/tools/quic/certs/generate-certs.sh |
| diff --git a/net/tools/quic/certs/generate-certs.sh b/net/tools/quic/certs/generate-certs.sh |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..d562387501b04a333efcbd4182ed2a0a9a043f14 |
| --- /dev/null |
| +++ b/net/tools/quic/certs/generate-certs.sh |
| @@ -0,0 +1,62 @@ |
| +#!/bin/sh |
| + |
| +# Copyright 2013 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. |
| + |
| +# This script generates a CA and leaf cert which can be used for the |
| +# quic_server. |
| + |
| +try() { |
| + "$@" || (e=$?; echo "$@" > /dev/stderr; exit $e) |
| +} |
| + |
| +try rm -rf out |
| +try mkdir out |
| + |
| +try /bin/sh -c "echo 01 > out/2048-sha256-root-serial" |
| +touch out/2048-sha256-root-index.txt |
| + |
| +# Generate the key. |
| +try openssl genrsa -out out/2048-sha256-root.key 2048 |
| + |
| +# Generate the root certificate. |
| +try openssl req \ |
| + -new \ |
| + -key out/2048-sha256-root.key \ |
| + -out out/2048-sha256-root.req \ |
| + -config ca.cnf |
| + |
| +try openssl x509 \ |
| + -req -days 3650 \ |
| + -in out/2048-sha256-root.req \ |
| + -signkey out/2048-sha256-root.key \ |
| + -extfile ca.cnf \ |
| + -extensions ca_cert \ |
| + -text > out/2048-sha256-root.pem |
| + |
| +# Generate the leaf certificate request. |
| +try openssl req \ |
| + -new \ |
| + -keyout out/leaf_cert.key \ |
| + -out out/leaf_cert.req \ |
| + -config leaf.cnf |
| + |
| +# Convert the key to pkcs8. |
|
Ryan Sleevi
2015/09/11 04:49:04
Why? Is this just for the RSAPrivateKeyInfo?
Ryan Hamilton
2015/09/11 17:14:11
The ProofSource that we implemented requires the k
|
| +try openssl pkcs8 \ |
| + -topk8 \ |
| + -outform DER \ |
| + -inform PEM \ |
| + -in out/leaf_cert.key \ |
| + -out out/leaf_cert.pkcs8 \ |
| + -nocrypt |
| + |
| +# Generate the leaf certificate to be valid from now to one year in the future. |
|
Ryan Sleevi
2015/09/11 04:49:04
Why?
Ryan Hamilton
2015/09/11 17:14:11
Why not? :> Seemed like a convenient period. But i
|
| +try openssl ca \ |
| + -batch \ |
| + -extensions user_cert \ |
| + -startdate `date -u "+%y%m%d%H%M%SZ"` \ |
| + -enddate `date -v+1y -u "+%y%m%d%H%M%SZ"` \ |
| + -in out/leaf_cert.req \ |
| + -out out/leaf_cert.pem \ |
| + -config ca.cnf |