Comandi da eseguire in linux per la generazione di un certificato SSL:

Generazione Chiave Privata (private Key)
#openssl genrsa -out ca.key 2048

Generazione CSR
#openssl req -new -key ca.key -out ca.csr

Generazione Chiave auto firmata (Self Signed Key)
#openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

Copiare i file, un esempio su CentOS:
#cp ca.crt /etc/pki/tls/certs
#cp ca.key /etc/pki/tls/private/ca.key
#cp ca.csr /etc/pki/tls/private/ca.csr

Note:
Questa procedura è consigliata solo in ambienti di sviluppo, per la produzione è consigliabile utilizzare certificati rilasciati da una “Trusted Certificate Authority”.

Link di una risposta su serverfault, in inglese, che spiega i vari formati: http://serverfault.com/a/9717