diff mbox series

tools/certs: Make print-cert-tbs-hash.sh compatible with recent OpenSSL

Message ID 20240729180233.1114694-1-mic@digikod.net (mailing list archive)
State New
Headers show
Series tools/certs: Make print-cert-tbs-hash.sh compatible with recent OpenSSL | expand

Commit Message

Mickaël Salaün July 29, 2024, 6:02 p.m. UTC
Recent OpenSSL versions (2 or 3) broke the "x509" argument parsing by
not handling "-in -" (unlike OpenSSL 1.1):
  Could not open file or uri for loading certificate from -: No such
  file or directory

Avoid this issue and still make this script work with older versions of
OpenSSL by using implicit arguments instead.

To hopefully make it more future-proof, apply the same simplifications
for other OpenSSL commands.

Cc: David Howells <dhowells@redhat.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Eric Snowberg <eric.snowberg@oracle.com>
Cc: Jarkko Sakkinen <jarkko@kernel.org>
Reported-by: Daniel Urbonas <t-durbonas@microsoft.com>
Fixes: 58d416351e6d ("tools/certs: Add print-cert-tbs-hash.sh")
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---
 tools/certs/print-cert-tbs-hash.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Mickaël Salaün Oct. 7, 2024, 6:42 p.m. UTC | #1
Could someone please take this patch?

On Mon, Jul 29, 2024 at 08:02:32PM +0200, Mickaël Salaün wrote:
> Recent OpenSSL versions (2 or 3) broke the "x509" argument parsing by
> not handling "-in -" (unlike OpenSSL 1.1):
>   Could not open file or uri for loading certificate from -: No such
>   file or directory
> 
> Avoid this issue and still make this script work with older versions of
> OpenSSL by using implicit arguments instead.
> 
> To hopefully make it more future-proof, apply the same simplifications
> for other OpenSSL commands.
> 
> Cc: David Howells <dhowells@redhat.com>
> Cc: David Woodhouse <dwmw2@infradead.org>
> Cc: Eric Snowberg <eric.snowberg@oracle.com>
> Cc: Jarkko Sakkinen <jarkko@kernel.org>
> Reported-by: Daniel Urbonas <t-durbonas@microsoft.com>
> Fixes: 58d416351e6d ("tools/certs: Add print-cert-tbs-hash.sh")
> Signed-off-by: Mickaël Salaün <mic@digikod.net>
> ---
>  tools/certs/print-cert-tbs-hash.sh | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/certs/print-cert-tbs-hash.sh b/tools/certs/print-cert-tbs-hash.sh
> index c93df5387ec9..22bdeec4d286 100755
> --- a/tools/certs/print-cert-tbs-hash.sh
> +++ b/tools/certs/print-cert-tbs-hash.sh
> @@ -54,7 +54,7 @@ RANGE_AND_DIGEST_RE='
>  '
>  
>  RANGE_AND_DIGEST=($(echo "${PEM}" | \
> -	openssl asn1parse -in - | \
> +	openssl asn1parse | \
>  	sed -n -e "${RANGE_AND_DIGEST_RE}"))
>  
>  if [ "${#RANGE_AND_DIGEST[@]}" != 3 ]; then
> @@ -85,7 +85,7 @@ if [ -z "${DIGEST_MATCH}" ]; then
>  fi
>  
>  echo "${PEM}" | \
> -	openssl x509 -in - -outform DER | \
> +	openssl x509 -outform DER | \
>  	dd "bs=1" "skip=${OFFSET}" "count=${END}" "status=none" | \
> -	openssl dgst "-${DIGEST_MATCH}" - | \
> +	openssl dgst "-${DIGEST_MATCH}" | \
>  	awk '{printf "tbs:" $2}'
> -- 
> 2.45.2
>
diff mbox series

Patch

diff --git a/tools/certs/print-cert-tbs-hash.sh b/tools/certs/print-cert-tbs-hash.sh
index c93df5387ec9..22bdeec4d286 100755
--- a/tools/certs/print-cert-tbs-hash.sh
+++ b/tools/certs/print-cert-tbs-hash.sh
@@ -54,7 +54,7 @@  RANGE_AND_DIGEST_RE='
 '
 
 RANGE_AND_DIGEST=($(echo "${PEM}" | \
-	openssl asn1parse -in - | \
+	openssl asn1parse | \
 	sed -n -e "${RANGE_AND_DIGEST_RE}"))
 
 if [ "${#RANGE_AND_DIGEST[@]}" != 3 ]; then
@@ -85,7 +85,7 @@  if [ -z "${DIGEST_MATCH}" ]; then
 fi
 
 echo "${PEM}" | \
-	openssl x509 -in - -outform DER | \
+	openssl x509 -outform DER | \
 	dd "bs=1" "skip=${OFFSET}" "count=${END}" "status=none" | \
-	openssl dgst "-${DIGEST_MATCH}" - | \
+	openssl dgst "-${DIGEST_MATCH}" | \
 	awk '{printf "tbs:" $2}'