Come installo un certificato radice?


223

Qualcuno può indicarmi un buon tutorial sull'installazione di un certificato radice su Ubuntu 10 o 11?

Mi è stato fornito un .crtfile. Raccolgo che è necessario creare una directory in /usr/share/ca-certificates/newdomain.orge posizionare il .crt in quella directory. Oltre a ciò non sono sicuro di come procedere.


19
Se qualcuno sta atterrando qui con un file cer anziché un crt, sono la stessa cosa (solo con un'estensione diversa). Dovresti essere in grado di seguire queste risposte e sostituire semplicemente il nome file.
Oli

A proposito: per un modo conveniente per ottenere i certificati CA dalla riga di comando, guarda qui , su serverfault.
Frank Nocke,

Risposte:


298

Installazione di un certificato radice / CA.

Dato un file di certificato CA foo.crt, attenersi alla seguente procedura per installarlo su Ubuntu:

  1. Creare una directory per certificati CA aggiuntivi in /usr/share/ca-certificates:

    sudo mkdir /usr/share/ca-certificates/extra
    
  2. Copia il .crtfile CA in questa directory:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt
    
  3. Consenti a Ubuntu di aggiungere il .crtpercorso del file relativamente /usr/share/ca-certificatesa /etc/ca-certificates.conf:

    sudo dpkg-reconfigure ca-certificates
    

    Per fare ciò in modo non interattivo, esegui:

    sudo update-ca-certificates
    

Nel caso di un .pemfile su Ubuntu, deve prima essere convertito in un .crtfile:

openssl x509 -in foo.pem -inform PEM -out foo.crt

54
Che ne dici di usare /usr/local/share/ca-certificates(local!) Invece di usare un directoy gestito dalla gestione dei pacchetti di sistema?
gertvdijk,

6
Si noti che Firefox (e forse alcuni altri software) non utilizzano i certificati a livello di sistema, ma ha un proprio archivio certificati: askubuntu.com/a/248326/79344 .
Amir Ali Akbari,

12
Si noti che il file deve essere in formato PEM e avere l'estensione ".crt".
Anton,

2
sudo dpkg-reconfigure ca-certificatesGrazie, l'altro sudo update-ca-certificates --freshnon ha funzionato il 16.10.
antivirtel

7
Il comando openssl x509 -in foo.pem -inform PEM -out foo.crtcopia un file PEM in un file PEM. Questo può essere fatto più facilmente rinominando.
Marian,

191

Dato un file di certificato CA 'foo.crt', segui questi passaggi per installarlo su Ubuntu:

Innanzitutto, copia la tua CA in dir /usr/local/share/ca-certificates/

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

quindi aggiornare l'archivio CA.

sudo update-ca-certificates

È tutto. Dovresti ottenere questo risultato:

Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:foo.pem
done.
done.

Nessun file è necessario per la modifica. Il collegamento all'autorità di certificazione viene creato automaticamente.

Si noti che i nomi dei file dei certificati devono terminare .crt, altrimenti lo update-ca-certificatesscript non verrà recepito.

Questa procedura funziona anche nelle versioni più recenti: manuali .


1
questo sembra non funzionare in fidato tahr 14.04
mcantsin

25
Si noti che, a differenza dell'aggiunta a / usr / share / ca-certificati, questo sembra funzionare solo se sono direttamente in / usr / local / share / ca-certificati e non in una sottodirectory. +1 per l'utilizzo della cartella locale anziché della cartella di sistema!
Toby J

2
Questo è documentato in README.Debian .
pevik,

1
@ Sparky1, questa dovrebbe essere la risposta accettata.
Ha disegnato Chapin il

1
@FranklinYu grazie :) Debian si è trasferito da Alioth a Salsa, anche questo funzionerebbe: salsa.debian.org/debian/ca-certificates/raw/master/debian/… , ma sources.debian.org è migliore.
pevik,

7

Installa un'autorità di certificazione su Ubuntu

Ho provato questo su Ubuntu 14.04.

Ecco la mia soluzione, ho cercato e cercato a lungo cercando di capire come farlo funzionare.

  1. Estrarre il .cer dal browser. Ho usato IE 11.
    • Impostazioni -> Opzioni Internet -> Autorità di certificazione intermedie
    • Seleziona l'autorità di certificazione che desideri esportare ( certutil -config - -pingti mostrerà quelli che stai utilizzando se sei dietro un proxy aziendale)
    • Esporta -> Seleziona il formato che desideri utilizzare: .cer codificato DER
  2. Porta i file .cer su Ubuntu in qualche modo
  3. Converti in .crt openssl x509 -inform DER -in certificate.cer -out certificate.crt
  4. Crea directory extra sudo mkdir /usr/share/ca-certificates/extra
  5. Copia i certificati sopra sudo cp certificate.crt /usr/share/ca-certificates/extra/certificate.crt
  6. sudo update-ca-certificates
  7. In caso contrario, devi fare quello che ho fatto, vai a sudo nano /etc/ca-certificates.conf
  8. Scorri verso il basso e trova il tuo .cer e rimuovi il simbolo !prima del nome del file (update-ca-certificati doc) - se non trovi l'esecuzione del certificatodpkg-reconfigure ca-certificates
  9. Correre sudo update-ca-certificates
  10. Potrebbe essere necessario affidarti alle CA da Firefox, Chrome, ecc., Ne avevo bisogno per funzionare con Docker, quindi dopo questi passaggi ha funzionato con Docker.

1
funziona nel 16.04?
endolith

@endolith ha lavorato per me nel 16.04.
Shubham,

4

Altre risposte non hanno funzionato per me con Ubuntu 18.04. Aggiungere il certificato certificato /etc/ssl/certs/ca-certificates.crtall'utilizzo del comando seguente:

cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt 

1
2 ore di pasticciare con i comandi di importazione prima che lo trovassi. Perfetto!
Beirtipol,

Il comando è sbagliato, la finale smanca: cat YOUR_CERT_HERE.crt >> /etc/ssl/certs/ca-certificates.crt . Grazie per questa soluzione
SommerEngineering,

Nota: questa è la soluzione temporanea, poiché il certificato aggiunto verrà rimosso dopo l'esecuzione update-ca-certificates.
Kenorb,

3

Avere il certificato (root / CA) disponibile su un server Web, locale sulla propria rete, se lo si desidera.

  • Sfoglialo con Firefox.
  • Apri il certificato e comunica a Firefox di aggiungerlo come eccezione.
  • Firefox ti chiederà se desideri fidarti di questo certificato per identificare siti Web, utenti di posta elettronica o editori di software.
  • Godere!

Aggiornamento: Sarà necessario verificare se funziona su Ubuntu 11. Mi sono reso conto di averlo appena fatto su Ubuntu 12.04 LTS.


5
Firefox non ha il proprio contenitore di certificati? Se si aggiungesse un certificato in questo modo, solo Firefox potrebbe usarlo, no?
Aiyion.Prime

Non funziona affatto, devi ancora aggiungerlo al contenitore di certificati globali del sistema operativo, altrimenti sarà solo nel contenitore di Firefox.
arc_lupus,

1

Da qui :

Installazione del certificato

È possibile installare il file chiave example.key e il file del certificato example.crt o il file del certificato emesso dalla propria CA, eseguendo i seguenti comandi al prompt del terminale:

sudo cp example.crt /etc/ssl/certs
sudo cp example.key /etc/ssl/private

Ora configura semplicemente tutte le applicazioni, con la possibilità di utilizzare la crittografia a chiave pubblica, per utilizzare i certificati e i file delle chiavi. Ad esempio, Apache può fornire HTTPS, Dovecot può fornire IMAPS e POP3S, ecc.


Avrei dovuto leggere più da vicino ... Sembra che non sia per i certificati root. Quella pagina a cui ho collegato però contiene informazioni sui certificati di root che potrebbero essere utili.
jat255,

1
Non ho una chiave pubblica e una chiave privata, ho solo un .crt quindi sfortunatamente quelle istruzioni non sembrano applicarsi.
Sparky1

0

Aggiungere un certificato CA principale in FireFox è ora molto semplice. Apri le preferenze, vai su "Privacy e sicurezza", scorri verso il basso fino a "Certificati" e fai clic su "Visualizza certificati ...". Qui puoi fare clic su "Importa certificato". Scegliere la propria CA principale (.pem) e OK. È tutto gente.


0

Ecco i semplici passaggi:

  1. Installa i certificati CA per consentire alle applicazioni basate su SSL di verificare l'autenticità delle connessioni SSL:

    sudo apt-get install ca-certificates
    
  2. Copia il file del certificato ( crto.cer ) nella /usr/local/share/ca-certificates/cartella, ad esempio:

    sudo cp file.crt /usr/local/share/ca-certificates/
    

    Per il file PEM, vedere: Convertire .pem in .crt e .key .

    Facoltativamente, se si utilizza il proxy Charles, questo comando può funzionare:

    curl -L chls.pro/ssl | sudo tee /usr/local/share/ca-certificates/charles.crt
    
  3. Certificati di aggiornamento:

    sudo update-ca-certificates
    

    Il comando aggiorna la /etc/ssl/certsdirectory per contenere i certificati SSL e genera un ca-certificates.crtfile (un elenco di certificati a file singolo concatenato).

    Nota: non aggiungere certificati manualmente (come suggerito qui ), poiché non sono persistenti e verranno rimossi.

Nota: se si esegue come root, è possibile eliminare i sudocomandi sopra indicati.


0

Chiarimento tra update-ca-certificatese dpkg-reconfigure ca-certificatese perché uno funziona e l'altro no !!

update-ca-certificateso sudo update-ca-certificates funzionerà solo se /etc/ca-certificates.conf è stato aggiornato.

/etc/ca-certificate.conf viene aggiornato solo dopo l'esecuzione dpkg-reconfigure ca-certificates che aggiorna i nomi dei certificati da importare/etc/ca-certificates.conf

Questo è indicato nell'intestazione del /etc/ca-certificates.conffile:

# This file lists certificates that you wish to use or to ignore to be
# installed in /etc/ssl/certs.
# update-ca-certificates(8) will update /etc/ssl/certs by reading this file.
#
# This is autogenerated by dpkg-reconfigure ca-certificates.  <=======
# Certificates should be installed under /usr/share/ca-certificates
# and files with extension '.crt' is recognized as available certs.
#
# line begins with # is comment.
# line begins with ! is certificate filename to be deselected.
#
mozilla/ACCVRAIZ1.crt
mozilla/AC_RAIZ_FNMT-RCM.crt
mozilla/Actalis_Authentication_Root_CA.crt
mozilla/AddTrust_External_Root.crt
...

Come puoi vedere, il formato /etc/ca-certificates.confè<folder name>/<.crt name>

Quindi per usare update-ca-certificateso sudo update-ca-certificatespotresti fare quanto segue per importare un .crt:

  1. Creare una directory per certificati CA aggiuntivi in ​​/ usr / share / ca-certificati:

    sudo mkdir /usr/share/ca-certificates/extra

  2. Copia il file .crt in questa directory:

    sudo cp foo.crt /usr/share/ca-certificates/extra/foo.crt

  3. Aggiungi una riga /etc/ca-certificates.confall'utilizzo <folder name>/<.crt name>:

    echo "extra/foo.crt" >> /etc/ca-certificate.conf

  4. Aggiorna certificati in modo non interattivo con i certificati sudo update-ca

    sudo update-ca-certificates

    ... Updating certificates in /etc/ssl/certs... 1 added, 0 removed; done.

Divertiti!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.