martedì 20 ottobre 2020

Come creare e gestire un kdb per il certificato di un IBM Http server da riga di comando

Durante uno dei miei ultimi interventi mi sono trovato a gestire l'installaizone di un nuovo certificato su un IHS contenuto in un KDB creato e testato in IHS 8.5.5 FP16.

Dopo aver settato il nuovo KDB alla partenza IHS dava errore generico


Configuration Failed

e non si avviava.

Dopo un rapido check nelle rilasci sono arrivato alla conclusione che il KDB della FP16 non era compatibile con la versione in cui stavo provando ad importarlo, una delle prime della 8.5.5.

Avendo a disposizione il certificato in anche in formato .p12 ho provveduto a ricreare il kdb da linea di comando (ero su un server linux senza accesso GUI) ed importare il certificato.


Per creare e gestire un db potete posizionarvi nella bin del HTTPServer ed utilizzare gskcapicmd.


Per creare un kdb vuoto  e creare un file stash per contenere la password 

 
./gskcapicmd -keydb -create -pw yourPassword -stash -db ../cert/Certificato.kdb



ora che abbiamo il kdb , possiamo importare il certificato 


./gskcapicmd -cert -import -pw yourPassword -target ../cert/Certificato.kdb -file /tmp/certificato.p12    -type pkcs12


Ora per verificare il contenuto del kdb

 ./gskcapicmd -cert  -list -db ../cert/Certificato.kdb -stashed


dovrebbe dare un ritorno simile a 

Certificates found
* default, - personal, ! trusted, # secret key
!       "CN=CertificateAuth Global Root CA, OU=www.CertificateAuth.com, O=CertificateAuth Inc, C=US"
!       "CN=CertificateAuth SHA2 Secure Server CA, O=CertificateAuth Inc, C=US"
-       fqdn.server.com

In questo caso abbiamo 2 certificati intermedi e un certificato per l'host interessato , ma non è settato come certificato di default. 

Per farlo dobbiamo eseguire il seguente comando


./gskcapicmd -cert -setdefault -db ../cert/nuovoCert.kdb -stashed -label fqdn.server.com

ora avremo come output

Certificates found
* default, - personal, ! trusted, # secret key
!       "CN=CertificateAuth Global Root CA, OU=www.CertificateAuth.com, O=CertificateAuth Inc, C=US"
!       "CN=CertificateAuth SHA2 Secure Server CA, O=CertificateAuth Inc, C=US"
*-       fqdn.server.com


dove  * sta a significare che il certificato ha un default e può essere usato senza problemi.

Per approfondire la miriade di opzioni date dal gskcapicmd vi invito a leggere la documentazione IBM.






Nessun commento:

Posta un commento