Quiero usar OpenSSL para generar private/public/(solicitud de firma de certificado) y para firmar algunos datos más adelante. Pero quiero usar OpenSSL GOST engine.OpenSSL con motor GOST
He descargado OpenSSL 1.0.0 y modificar openssl.cfg archivo:
openssl_conf = openssl_def
[openssl_def]
engines = engine_section
[engine_section]
gost = gost_section
[gost_section]
engine_id = gost
dynamic_path = ./gost.dll
default_algorithms = ALL
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
puedo generar la clave privada y la RSE (sola línea cadena de comandos):
openssl req -newkey gost2001 -pkeyopt paramset:A -passout pass:aofvlgzm \
-subj "/C=RU/ST=Moscow/L=Moscow/O=foo_bar/OU=foo_bar/CN=developer/ \
[email protected]" \
-new > certificate_signing_request.csr
Obtengo 2 archivos:
- certificate_signing_request.csr
- privkey.pem
sé que puedo hacer (imprime un (representación sin cifrar) texto de claves privadas y públicas):
openssl genpkey -algorithm gost2001 -pkeyopt paramset:A -text
utilizo en lugar GOST RSA es por eso que no puedo hacer:
openssl rsa -in privkey.pem -pubout -out pubkey.pem
Enter pass phrase for privkey.pem:
6132:error:0607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:.\crypto\evp\p_lib.c:288:
Mi pregunta es: ¿cómo puedo generar/obtener una clave pública (mabye desde una clave privada o desde csr) usando gost?
que utilizo:
- Windows 7 x64 profesional;
- OpenSSL 1.0.0;
- Gost engine.
Gracias por cualquier ayuda.
gran solución - funcionó a la perfección para mí! –