| #!/bin/sh |
| |
| # Copyright 2023 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # This scripts generates a set of keys of various sizes for use in tests that |
| # need a key without having to pay the cost of generating one at runtime. |
| |
| set -e |
| |
| function genpkey { |
| alg="$1" |
| optname="$2" |
| optval="$3" |
| n="$4" |
| filename="../certificates/$alg-$optval-$n.key" |
| if ! grep -q -- '-----BEGIN.*PRIVATE KEY-----' "$filename" ; then |
| echo "generating $filename ..." |
| openssl genpkey -algorithm "$alg" -pkeyopt "$optname:$optval" \ |
| -out "$filename" |
| else |
| echo "$filename already exists, skipping" |
| fi |
| } |
| |
| for size in 768 1024 2048 |
| do |
| for i in 1 2 3 |
| do |
| genpkey rsa rsa_keygen_bits "$size" "$i" |
| done |
| done |
| |
| genpkey rsa rsa_keygen_bits 8200 1 |
| |
| |
| for curve in prime256v1 |
| do |
| for i in 1 2 3 |
| do |
| genpkey ec ec_paramgen_curve "$curve" "$i" |
| done |
| done |