User Tools

Site Tools


doc:appunti:linux:sa:ssl_cert

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:ssl_cert [2015/06/19 17:14] – [ejabber] niccolodoc:appunti:linux:sa:ssl_cert [2020/10/07 10:21] (current) – [Verificare un certificato SSL su HTTPS] niccolo
Line 2: Line 2:
  
 Come generare i certificati SSL autofirmati in un sistema **Debian GNU/Linux** per i vari programmi: apache2, courier-pop, courier-imap, postfix, exim. Come generare i certificati SSL autofirmati in un sistema **Debian GNU/Linux** per i vari programmi: apache2, courier-pop, courier-imap, postfix, exim.
 +
 +===== Ispezionare un certificato in formato PEM =====
 +
 +Per vedere il contenuto di un file .pem (date di validità, ecc.):
 +
 +<code>
 +openssl x509 -text -noout -in pop3d.pem
 +</code>
 +
 +===== Ispezionare una CRL in formato PEM =====
 +
 +Anche una Certificate Revocation List ha la sue date di validità, ecc. Per ispezionarla:
 +
 +<code>
 +openssl crl -text -noout -in openvpn_crl.pem
 +</code>
  
 ===== Courier POP3 e IMAP ===== ===== Courier POP3 e IMAP =====
Line 14: Line 30:
   * Editare i file ''.cnf'' impostando i valori richiesti.   * Editare i file ''.cnf'' impostando i valori richiesti.
   * Eliminare i vecchi ''.pem'' ed eseguire nuovamente gli script.   * Eliminare i vecchi ''.pem'' ed eseguire nuovamente gli script.
- 
-Per vedere il contenuto di un file .pem: 
- 
-<code> 
-openssl x509 -text -noout -in pop3d.pem 
-</code> 
  
 ===== Postfix ===== ===== Postfix =====
Line 56: Line 66:
 </code> </code>
  
-===== File p7m =====+===== Verificare un certificato SSL su HTTPS =====
  
-La Pubblica Amministrazione italiana distribuisce i documenti firmati digitalmente sotto forma di file con estensione **.p7m**. Ecco come estrarne il contenuto se si tratta di un formato **''PEM''**:+Con il tool **openssl** è possibile verificare la possibilità di stabilire una connessione SSL con un server via HTTPS:
  
 <code> <code>
-openssl smime -decrypt -verify -inform PEM -in doc_2018966.pdf.p7m -noverify -out doc_2018966.pdf+openssl s_client -connect www.domain.tld:443
 </code> </code>
  
-Il documento originale al suo interno si presenta in questo modo:+Se la verifica funziona correttamente, l'ultima riga dell'output dovrebbe essere:
  
-<file+<code
------BEGIN PKCS7----- +Verify return code: 0 (ok) 
-MIMDRc4GCSqGSIb3DQEHAqCDA0W+MIMDRbkCAQExDzANBglghkgBZQMEAgEFADCDAz8iBgkq +</code>
-... +
-zqFeaEs7Wsxim1xXyGnGOt2yxzAWuEYba0ggHa7prfr4vsthafc1KRic/8L9/6Czzg== +
------END PKCS7----- +
-</file>+
  
-Se si desidera estrarre il certificato:+La mancata installazione in locale del certificato della CA invece produce questo errore:
  
 <code> <code>
-openssl pkcs7 -in doc_2018966.pdf.p7m -print_certs -out certificate.pem -text+Verify return code: 20 (unable to get local issuer certificate)
 </code> </code>
 +
 +È possibile specificare manualmente il percorso del certificato con l'opzione **%%-CAfile%%**:
 +
 +<code>
 +openssl s_client -connect www.domain.tld:443 -CAfile /usr/lib/ssl/certs/DigiCert_Global_Root_CA.pem
 +</code>
 +
 +Ovviamente è consigliabile copiare il certificato nella posizione in cui la libreria lo trova automaticamente, anche solo con un link simbolico. Per una compilazione locale di libssl dovrebbe essere **/usr/local/ssl/cert.pem**, per una installazione di sistema invece dovrebbe essere **/usr/lib/ssl/cert.pem**.
 +
doc/appunti/linux/sa/ssl_cert.1434726886.txt.gz · Last modified: 2015/06/19 17:14 by niccolo