Firmar un certificado de usuario con CA.key: openssl

0

Tengo un certificado de usuario ( certname.pem ) y una clave de usuario ( keyname.pem ) que he generado usando el comando a continuación.

openssl req -newkey rsa:2048 -nodes -keyout keyname.pem -x509 -days 365 -out certname.pem

También he generado una clave de CA ( ca.key.pem ) y un certificado de raíz de CA ( ca.root.pem ) usando el siguiente comando.

openssl req -x509 -days 557 -newkey rsa:1024 -out ca.root.pem -keyout ca.key.pem

Ahora quiero firmar el certificado de usuario ( certname.pem ) con la clave CA ( ca.key.pem ) pero no puedo hacerlo usando el siguiente comando.

openssl ca -create_serial -config openssl.cnf -cert ca.root.pem -keyfile ca.key.pem -in certname.pem  -out new-certname.pem

ya que este comando da error:

Error reading certificate request in certname.pem
139992806578040:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:708:Expecting: CERTIFICATE REQUEST

Cuando el contenido de mi certname.pem es el siguiente:

-----BEGIN CERTIFICATE-----
MIIDozCCAougAwIBAgIJALv1sRsVLIRgMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNV
BAYTAmluMQ0wCwYDVQQIDARhc2RmMQ0wCwYDVQQHDARhc2RmMQwwCgYDVQQKDANs
a2oxDDAKBgNVBAsMA2xrajEMMAoGA1UEAwwDbGtqMREwDwYJKoZIhvcNAQkBFgJs
ajAeFw0xODA3MDcxNDU1MzNaFw0xOTA3MDcxNDU1MzNaMGgxCzAJBgNVBAYTAmlu
MQ0wCwYDVQQIDARhc2RmMQ0wCwYDVQQHDARhc2RmMQwwCgYDVQQKDANsa2oxDDAK
BgNVBAsMA2xrajEMMAoGA1UEAwwDbGtqMREwDwYJKoZIhvcNAQkBFgJsajCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJxh0L94MzQgjTodq4/Eha4HmX4c
PPsb7H5cUzk1b4N9tfGPoINZ68CY+HqTwXtBTtiwIvkvP/nKD5cp9PhpDB/AI4Zx
c83J72iBpMefn1KgWAUMBNnxnYkezK7SY3osotakBXAT+4tJI1BXL/TAV74VKe9a
7rXSEqCTxcj/H0kbW+2WR/N5yDXjJk68k1A4oQ4wSLiejC9ycqHkZluKZjJl8XNh
9QnEsTtZRiX59FbRa64A16Alv7tBSSTxyCFfQqPxSpgiORoU1vRQqWxD7IV5WXl7
fQLaxR07nmJKxYSK7fGRdcXLQBmkWA0V0pA3qreDAznSfElk3GNhtx0Erk0CAwEA
AaNQME4wHQYDVR0OBBYEFGDedvJ2pbkR2wFsu60fjDPocMFsMB8GA1UdIwQYMBaA
FGDedvJ2pbkR2wFsu60fjDPocMFsMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEL
BQADggEBAIIVz6Aiu1VwM71ecL7aNgyEuctAtfkiDfopKANtBA5yzLQZYlALSkjz
SIUD/vRkiT4C8ZOdfoWJkHxpk93uYH6xjDL8vsqthAA34FvDBMoecrOVNzJq5uBt
aJC4klj57uf1mPzW71yycS9IKFFGardqijjlHUyhgJVBs8kZbABT7ZedYA5UYdv+
SUNnzOU2Sm/ktPF5vWp8y4WjgujYnZQqj7pI4ucwYxb8WRW2EeeGpkbA6DuU7Tnv
frliIESdu9/UCQm7A5zxW47MKTBrVDfoRsbrbjFo9PiGCxG/7bglykFHovWVN2ez
uqLIdDOC2lNFBOJLPhf5w9s3fEGl8m8=
-----END CERTIFICATE-----

¿Cómo firmar este certificado con ca.key.pem? Por favor ayuda.

Referencia para generar certificados: Mapa

    
pregunta Rishabh Chaudhary 07.07.2018 - 17:55
fuente

1 respuesta

1

Incluyó -x509 en su solicitud original, que en este caso dio instrucciones a openssl para generar un certificado autofirmado llamado certname.pem . Es un certificado, pero probablemente no sea del tipo que quiere aquí.

Supongo que, en cambio, desea utilizar su CA recién acuñada para firmar su clave pública y crear un certificado de servidor. Primero deberá generar una Solicitud de firma de certificado (CSR); Ya que ya generó la clave (la que está en keyname.pem) puede hacerlo con:

openssl req -out keyname.csr -key keyname.pem -new 

Luego puede pasar esta CSR para generar un certificado (como lo intentó):

openssl ca -create_serial -config openssl.cnf -cert ca.root.pem -keyfile ca.key.pem -in keyname.csr -out new-certname.pem
    
respondido por el John Deters 07.07.2018 - 22:15
fuente

Lea otras preguntas en las etiquetas