Estoy intentando escribir el ec
comando OpenSSL. El script se utiliza para validar una colección de claves producidas por otra biblioteca. El guión se muestra a continuación después de la pregunta.
Lo siguiente funciona desde una terminal:
openssl ec -in ec-enc-priv-xxx.pem -passin pass:test -text -noout
Lo siguiente funciona desde una terminal:
openssl ec -in ec-enc-priv-xxx.pem -passin pass:test -text -noout >/dev/null
Sin embargo, cuando escribo el último script, se me solicita una contraseña:
$ ./pem-verify.sh
read RSA key
read RSA key
read RSA key
read DSA key
read DSA key
read DSA key
read EC key
read EC key
Enter PEM pass phrase:
El mismo código funciona para las claves RSA y DSA en el script. El problema está relacionado únicamente con la clave privada EC cifrada.
¿Alguna idea de cómo solucionar esto?
#! /bin/sh
# Script to verify the test keys written by pem-test.cpp
#################
# RSA keys
# The RSA command returns 0 on success
openssl rsa -in rsa-pub-xxx.pem -pubin -text -noout >/dev/null
RET=$?
if [ $RET -ne 0 ];then
echo "Failed to read RSA public key"
fi
openssl rsa -in rsa-priv-xxx.pem -text -noout >/dev/null
RET=$?
if [ $RET -ne 0 ];then
echo "Failed to read RSA private key"
fi
openssl rsa -in rsa-enc-priv-xxx.pem -passin pass:test -text -noout >/dev/null
RET=$?
if [ $RET -ne 0 ];then
echo "Failed to read encrypted RSA private key"
fi
#################
# DSA keys
# The DSA command is broken. It returns 1 when using '-noout' option
# instead of 0. A patch was submitted to RT.
openssl dsa -in dsa-pub-xxx.pem -pubin -text -noout >/dev/null
openssl dsa -in dsa-priv-xxx.pem -text -noout >/dev/null
openssl dsa -in dsa-enc-priv-xxx.pem -passin pass:test -text -noout >/dev/null
#################
# EC keys
# The EC command returns 0 on success
openssl ec -in ec-pub-xxx.pem -pubin -text -noout >/dev/null
RET=$?
if [ $RET -ne 0 ];then
echo "Failed to read EC public key"
fi
openssl ec -in ec-priv-xxx.pem -text -noout >/dev/null
RET=$?
if [ $RET -ne 0 ];then
echo "Failed to read EC private key"
fi
openssl ec -in ec-enc-priv-xxx.pem -passin pass:test -text -noout >/dev/null
RET=$?
if [ $RET -ne 0 ];then
echo "Failed to read encrypted EC private key"
fi
Respuesta1
Desprecio este tipo de respuestas, pero no puedo duplicar el problema desde que reinicié la MacBook Pro. Entonces la respuesta en este caso parece ser reiniciar. Suspiro...
Pasamos a cerrar la pregunta porque el problema no se puede reproducir.