1#!/bin/sh 2 3# Copyright 2023 The Chromium Authors 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 scripts generates a set of keys of various sizes for use in tests that 8# need a key without having to pay the cost of generating one at runtime. 9 10set -e 11 12function genpkey { 13 alg="$1" 14 optname="$2" 15 optval="$3" 16 n="$4" 17 filename="../certificates/$alg-$optval-$n.key" 18 if ! grep -q -- '-----BEGIN.*PRIVATE KEY-----' "$filename" ; then 19 echo "generating $filename ..." 20 openssl genpkey -algorithm "$alg" -pkeyopt "$optname:$optval" \ 21 -out "$filename" 22 else 23 echo "$filename already exists, skipping" 24 fi 25} 26 27for size in 768 1024 2048 28do 29 for i in 1 2 3 30 do 31 genpkey rsa rsa_keygen_bits "$size" "$i" 32 done 33done 34 35genpkey rsa rsa_keygen_bits 8200 1 36 37 38for curve in prime256v1 39do 40 for i in 1 2 3 41 do 42 genpkey ec ec_paramgen_curve "$curve" "$i" 43 done 44done 45