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
Last revisionBoth sides next revision
doc:appunti:linux:sa:ssl_cert [2010/08/16 18:22] niccolodoc:appunti:linux:sa:ssl_cert [2020/10/07 10:07] – [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 15: Line 31:
   * 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:+===== Postfix ===== 
 + 
 +L'installazione predefinita di Postfix usa il certificato **''/etc/ssl/certs/ssl-cert-snakeoil.pem''** e la corrispondente chiave **''/etc/ssl/private/ssl-cert-snakeoil.key''**. 
 + 
 +Noi preferiamo due file nella directory **''/etc/postfix/ssl/''**, uno con il certificato (**''postfix.crt''**) ed uno con la chiave (**''postfix.key''**). In questa **[[postfix#crittografia_tls|pagina]]** uno script in grado di generare i due file
 + 
 +Editare **''/etc/postfix/main.cf''** e impostare: 
 + 
 +<file> 
 +# TLS parameters 
 +smtpd_tls_cert_file=/etc/postfix/ssl/postfix.crt 
 +smtpd_tls_key_file=/etc/postfix/ssl/postfix.key 
 +smtpd_use_tls=yes 
 +</file> 
 + 
 +===== ejabber ===== 
 + 
 +La generazione del certificato è inclusa nello script di **''postinst''**, eccola con l'unica variazione sulla durata: tre anni invece di uno: 
 + 
 +<code bash> 
 +#!/bin/bash 
 +EHOSTNAME=$(hostname -s 2>/dev/null || echo localhost) 
 +EDOMAINNAME=$(hostname -d 2>/dev/null || echo localdomain) 
 +openssl req -new -x509 -days 1096 -nodes -out ejabberd.pem 
 +    -keyout ejabberd.pem > /dev/null 2>&1 <<+++ 
 +
 +
 +
 +$EDOMAINNAME 
 +$EHOSTNAME 
 +ejabberd 
 +root@$EHOSTNAME.$EDOMAINNAME 
 ++++ 
 +</code> 
 + 
 +===== Verificare un certificato SSL su HTTPS ===== 
 + 
 +Con il tool **openssl** è possibile verificare la possibilità di stabilire una connessione SSL con un server via HTTPS:
  
 <code> <code>
-openssl x509 -text -noout -in pop3d.pem+openssl s_client -connect www.domain.tld:443 -CAfile /usr/lib/ssl/certs/DigiCert_Global_Root_CA.pem
 </code> </code>
  
-===== Postfix =====+L'opzione **%%-CAfile%%** e il relativo parametro non dovrebbe essere necessaria se i certificati delle CA sono installati nelle opportune directory, dove la libreria **libssl** le trova automaticamente.
  
-Vengono salvati due file nella directory **''/etc/postfix/ssl/''**, uno con il certificato **''postfix.crt''* ed uno con la chiave **''postfix.key''**.+Se la verifica funziona correttamente, l'ultima riga dell'output dovrebbe essere: 
 + 
 +<code> 
 +Verify return code: 0 (ok) 
 +</code> 
 + 
 +La mancanza del certificato della CA invece produce questo errore: 
 + 
 +<code> 
 +Verify return code: 20 (unable to get local issuer certificate) 
 +</code>
doc/appunti/linux/sa/ssl_cert.txt · Last modified: 2020/10/07 10:21 by niccolo