Aspettandosi: CERTIFICATO DI FIDUCIA durante la conversione da pem a crt

6

Sto provando a generare una coppia di chiavi privata-pubblica e convertire la chiave pubblica in un certificato che può essere aggiunto al mio truststore.

Per generare private & chiave pubblica: openssl rsa -in private.pem -outform PEM -pubout -out public_key.pem

Ora sto provando a convertirlo in un certificato:

openssl x509 -outform der -in  public_key.pem -out  public.cer 

Ma ho un errore:

7962:error:0906D06C:PEM routines:PEM_read_bio:no start line:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.30.2/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

Tutti i tutorial mostrano che devo convertire pem in crt prima di aggiungerlo a un truststore.

    
posta user1692342 08.02.2017 - 18:30
fonte

2 risposte

3

Non è possibile "convertire" una chiave pubblica in un certificato. Un certificato include la chiave pubblica ma include anche più informazioni come l'oggetto, l'emittente, quando il certificato è valido ecc. E un certificato è firmato dall'emittente. Pertanto, ciò che è necessario invece è creare una richiesta di firma del certificato (CSR) che includa la chiave pubblica, ma includa anche tutte le informazioni aggiuntive. Quindi questo CSR deve essere firmato da un'autorità di certificazione (CA) che quindi fornisce il certificato.

Per creare un semplice certificato autofirmato che non è considerato attendibile da alcun browser, vedi Come creare un certificato autofirmato con openssl? .

    
risposta data 08.02.2017 - 18:38
fonte
1

Non è possibile convertire una chiave pubblica in un certificato.

I comandi originali non funzioneranno poiché la codifica PEM / il formato file si prevede di contenere il testo del certificato crittografato come di seguito:

-----BEGIN CERTIFICATE-----

Certificate data here

-----END CERTIFICATE-----

Pertanto, se visualizzi il file .PEM originale e vedi qualcos'altro (come BEGIN RSA ...) non è corretto.

Ora, in base al titolo del thread, stai cercando di convertire un PEM in un formato di file CRT . Si noti che i certificati x509 possono essere in due codifiche: DER e PEM. Inoltre, PEM può essere all'interno di un formato .CRT, .CER e anche .PEM.

Quindi se vedi questo errore c'è anche la possibilità che tu stia trattando un certificato codificato DER come un certificato codificato PEM. Puoi provare a vedere se è effettivamente codificato DER seguendo le istruzioni in questo pagina .

    
risposta data 08.02.2017 - 23:47
fonte

Leggi altre domande sui tag