Para generar una clave pbulic RSA en formato PEM para su uso con openssl
, puede seguir estos pasos.
Crear un archivo de definición de ASN1
modificar la siguiente plantilla para incluir su módulo y exponente
# Start with a SEQUENCE
asn1=SEQUENCE:pubkeyinfo
# pubkeyinfo contains an algorithm identifier and the public key wrapped
# in a BIT STRING
[pubkeyinfo]
algorithm=SEQUENCE:rsa_alg
pubkey=BITWRAP,SEQUENCE:rsapubkey
# algorithm ID for RSA is just an OID and a NULL
[rsa_alg]
algorithm=OID:rsaEncryption
parameter=NULL
# Actual public key: modulus and exponent
[rsapubkey]
n=INTEGER:0x%%MODULUS%%
e=INTEGER:0x%%EXPONENT%%
En lugar de edición, es posible que también desee guión esta usando sed
sed -i "s/%%MODULUS%%/$(xxd -ps -c 256 mymodulus.bin)/" def.asn1
Tenga en cuenta que el -c 256
debe ser elegido de acuerdo con su longitud de clave en bytes.
Puede usar un comando similar para el exponente.
generar su clave RSA
Utilice el siguiente comando openssl. Esto le dará una clave RSA codificada DER.
openssl asn1parse -genconf def.asn1 -out pubkey.der -noout
luego convertirlo en un PEM clave
openssl rsa -in pubkey.der -inform der -pubin -out pubkey.pem
Verificar con su clave
Puede utilizar cualquiera de openssl dgst -verify
o openssl rsautl -verify
" ... excepto escribir algunos programas ... "bueno, si lees las [preguntas frecuentes] (http://stackoverflow.com/faq) sabrías que es para qué es stackoverflow. –
GregS: No es así :) Tengo un programa que lo hace pero mi cliente dice que no funciona correctamente. Entonces, para demostrarle que está equivocado, quiero mostrar que, por ejemplo, openssl (en lo que puede confiar) se comporta de la misma manera que mi programa. – emstol
¿Desea estructura RSA * a partir de un módulo y exponente dado? – doptimusprime