ssl - tener - generador de claves privadas bitcoin
¿Cómo convertir una clave privada a una clave privada de RSA? (2)
Esto puede ser de alguna ayuda (literalmente no escriba las barras invertidas ''/' en los comandos, están destinados a indicar que "todo tiene que estar en una línea"):
Parece que todos los comandos (en gris) toman cualquier tipo de archivo de clave (en verde) como argumento "in". Lo cual es bueno.
Aquí están los comandos nuevamente para copiar y pegar más fácilmente:
openssl rsa -in $FF -out $TF
openssl rsa -aes256 -in $FF -out $TF
openssl pkcs8 -topk8 -nocrypt -in $FF -out $TF
openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA256 -in $FF -out $TF
y
openssl rsa -check -in $FF
openssl rsa -text -in $FF
Déjame explicar mi pregunta primero. Compré un certificado de una CA y utilicé el siguiente formato para generar la csr y la clave privada:
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Cuando abro el archivo server.key, veo que comienza con "----- BEGIN PRIVATE KEY -----"
Uso el certificado SSL en mi servidor y todo se ve bien.
Ahora quiero subir el mismo certificado a AWS IAM para que pueda usarlo con el balanceador de carga de beanstalk. Uso el siguiente comando de este aws doc http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth
iam-servercertupload -b public_key_certificate_file -k privatekey.pem -s certificate_object_name
Cambio los nombres de los archivos cert según sea necesario pero sigo obteniendo este error: "400 Clave privada inválida certificada como incorrecta".
Lo interesante es que, en la página de docs Aws, la clave privada de muestra que muestran comienza con "------- Begin RSA Private Key --------"
¿Hay alguna manera de convertir mi clave privada a una clave privada de RSA usando openssl?
Las versiones más nuevas de OpenSSL dicen BEGIN PRIVATE KEY porque contienen la clave privada + un OID que identifica el tipo de clave (esto se conoce como formato PKCS8). Para obtener la clave de estilo anterior (conocida como PKCS1 o formato tradicional de OpenSSL) puede hacer esto:
openssl rsa -in server.key -out server_new.key
Alternativamente, si tiene una clave PKCS1 y desea PKCS8:
openssl pkcs8 -topk8 -nocrypt -in privkey.pem