lunedì 6 novembre 2006

Esportare le chiavi da un file PKCS#12 per l'utilizzo con SSH

Supponiamo di avere, per l'utente sshuser, un file cifrato contenente certificati e chiavi in formato PKCS#12, e supponiamo di dover utilizzare la chiave privata per connessioni SSH con mutua autenticazione.

Il primo passo è quello di esportare la chiave privata. Considerato che, per openssh, la chiave privata è conservata nella directory .ssh/ nel file id_rsa, e supponendo di avere il file PKCS#12 sshuser.p12, avremo:
openssl pkcs12 -in sshuser.p12 -clcerts -nocerts -des3 -out .ssh/id_rsa

Seguirà la richiesta della password di accesso al file PKCS#12, nonchè quella di cifratura del nuovo file in formato PEM.

Adesso sarà necessario generare, nel formato opportuno, i dati indicativi per la ricostruzione della chiave pubblica da parte di openssh.
Per questo motivo, è innanzitutto opportuno modificare i diritti del file della chiave privata:
chmod 400 .ssh/id_rsa

quindi eseguire:
ssh-keygen -y -f .ssh/id_rsa > .ssh/id_rsa.pub

Enjoy!

Eventi a cui partecipo