User Tools

Site Tools


doc:appunti:linux:sa:ssl_cert

This is an old revision of the document!


Certificati SSL

Come generare i certificati SSL autofirmati in un sistema Debian GNU/Linux per i vari programmi: apache2, courier-pop, courier-imap, postfix, exim.

Courier POP3 e IMAP

  • Debian fornisce gli script mkpop3dcert e mkimapdcert.
  • La configurazione è in /etc/courier/pop3d.cnf e /etc/courier/imapd.cnf.
  • I certificati vengono salvati in /etc/courier/pop3d.pem e /etc/courier/imapd.pem.

Per allungare la durata del certificato (predefinita solo 365 giorni) e personalizzare la configurazione:

  • Modificare gli script cambiando la direttiva -days, salvare in /usr/local/sbin/.
  • Editare i file .cnf impostando i valori richiesti.
  • Eliminare i vecchi .pem ed eseguire nuovamente gli script.

Per vedere il contenuto di un file .pem:

openssl x509 -text -noout -in pop3d.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 pagina uno script in grado di generare i due file.

Editare /etc/postfix/main.cf e impostare:

# TLS parameters
smtpd_tls_cert_file=/etc/postfix/ssl/postfix.crt
smtpd_tls_key_file=/etc/postfix/ssl/postfix.key
smtpd_use_tls=yes

ejabber

La generazione del certificato è inclusa nello script di postinst, eccola con l'unica variazione sulla durata: tre anni invece di uno:

#!/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
+++

File p7m

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:

openssl smime -decrypt -verify -inform PEM -in doc_2018966.pdf.p7m -noverify -out doc_2018966.pdf

Il documento originale al suo interno si presenta in questo modo:

-----BEGIN PKCS7-----
MIMDRc4GCSqGSIb3DQEHAqCDA0W+MIMDRbkCAQExDzANBglghkgBZQMEAgEFADCDAz8iBgkq
...
zqFeaEs7Wsxim1xXyGnGOt2yxzAWuEYba0ggHa7prfr4vsthafc1KRic/8L9/6Czzg==
-----END PKCS7-----

Se si desidera estrarre il certificato:

openssl pkcs7 -in doc_2018966.pdf.p7m -print_certs -out certificate.pem -text
doc/appunti/linux/sa/ssl_cert.1434726886.txt.gz · Last modified: 2015/06/19 17:14 by niccolo