blob: 731ab679a6e51329ac01c6499b8d5ec8289596c6 [file] [log] [blame]
#!/bin/sh
# Copyright 2018 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.
try () {
echo "$@"
"$@" || exit 1
}
try rm -rf out
try mkdir out
try openssl genrsa -out out/key_usage_rsa.key 2048
try openssl ecparam -genkey -name prime256v1 -noout -out out/key_usage_p256.key
certs=" \
rsa_no_extension \
rsa_keyencipherment \
rsa_digitalsignature \
rsa_both \
p256_no_extension \
p256_keyagreement \
p256_digitalsignature \
p256_both"
for cert in $certs; do
key=${cert%%_*}
SUBJECT_NAME="subj_${cert}" \
try openssl req \
-new \
-key "out/key_usage_${key}.key" \
-out "out/key_usage_${cert}.csr" \
-config ee.cnf
try openssl x509 \
-req \
-in "out/key_usage_${cert}.csr" \
-signkey "out/key_usage_${key}.key" \
-days 3650 \
-extfile ee.cnf \
-extensions "ext_${cert}" \
-out "out/key_usage_${cert}.pem" \
-text
try cp "out/key_usage_${cert}.pem" ../certificates
done
try cp "out/key_usage_rsa.key" ../certificates
try cp "out/key_usage_p256.key" ../certificates