From 036418abee8327d68e88aa83e2873a1ff06888d0 Mon Sep 17 00:00:00 2001 From: Lucas Date: Fri, 14 Feb 2020 03:02:52 +0000 Subject: [PATCH] Use ecparam instead of genpkey The generated keys are just different. As a consequence, remove key encryption support. --- utils/gen-ec-cert.sh | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/utils/gen-ec-cert.sh b/utils/gen-ec-cert.sh index 39a925f..35cf09b 100644 --- a/utils/gen-ec-cert.sh +++ b/utils/gen-ec-cert.sh @@ -1,7 +1,7 @@ #!/bin/sh usage() { - printf "Usage: %s [-e] [-c curve] [-d days] domain\n" "${0##*/}" >&2 + printf "Usage: %s [-c curve] [-d days] domain\n" "${0##*/}" >&2 exit 1 } @@ -12,16 +12,13 @@ tonumber() curve=secp384r1 days=3650 -encrypt= -while getopts c:d:e flag; do +while getopts c:d: flag; do case $flag in c) [ -n "$OPTARG" ] || usage curve=$OPTARG ;; d) days=$(tonumber "$OPTARG") || usage ;; - e) encrypt=yes - ;; *) usage ;; esac @@ -34,16 +31,8 @@ if [ -f "$domain.key" ]; then printf "%s: key for %s already exists; reusing it.\n" \ "${0##*/}" "$domain" >&2 else - (umask 077 && openssl genpkey ${encrypt:+-aes256} \ - -algorithm ec -pkeyopt ec_paramgen_curve:"$curve" \ - -out "$domain.key") - if [ $? -ne 0 ] || [ ! -s "$domain.key" ]; then - # openssl doesn't return an error code if there is a password - # mismatch or a password too short, and it creates the output - # file anyways - rm -f "$domain.key" - exit 1 - fi + (umask 077 && + openssl ecparam -genkey -name "$curve" -out "$domain.key") fi openssl req -new -x509 -days "$days" -subj "/CN=$domain" \