Firma un certificato utente con CA.key: openssl

0

Ho un certificato utente ( certname.pem ) e una chiave utente ( keyname.pem ) che ho generato utilizzando il comando seguente.

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

Inoltre, ho generato una chiave CA ( ca.key.pem ) e un certificato di origine CA ( ca.root.pem ) utilizzando il comando seguente.

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

Ora voglio firmare il certificato utente ( certname.pem ) con la chiave CA ( ca.key.pem ) ma non riesco a farlo utilizzando il comando seguente.

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

come questo comando dà errore:

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

Dove il contenuto del mio certname.pem è il seguente:

-----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-----

Come firmare questo certificato con ca.key.pem? Per favore aiuto.

Riferimento per la generazione di certificati - collegamento

    
posta Rishabh Chaudhary 07.07.2018 - 17:55
fonte

1 risposta

1

Hai incluso -x509 sulla tua richiesta originale, che in questo caso ha indicato a openssl di generare un certificato autofirmato denominato certname.pem . È un certificato, ma probabilmente non è il tipo che desideri qui.

Suppongo che tu voglia utilizzare la CA appena creata per firmare la tua chiave pubblica e creare un certificato del server. Dovrai prima generare una richiesta di firma del certificato (CSR); dal momento che hai già generato la chiave (quella in keyname.pem) puoi farlo con:

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

Puoi quindi passare questo CSR per generare un certificato (come hai provato):

openssl ca -create_serial -config openssl.cnf -cert ca.root.pem -keyfile ca.key.pem -in keyname.csr -out new-certname.pem
    
risposta data 07.07.2018 - 22:15
fonte

Leggi altre domande sui tag