Ciao a tutti.
Sto impazzendo dietro ad un keystore con dei certificati pkcs12, ognuno protetto con una password diversa, ma con lo stesso alias.
Ho creato il keystore e vi ho importato i 3 certificati .p12., modificando di volta in volta l'alias, e cambiando la password perché fosse la stessa del keystore.
# keytool -importkeystore -srckeystore cert1.p12 -srcstoretype pkcs12 -destkeystore ks.jks -deststoretype JKS
# keytool -changealias -keystore ks.jks -alias samealias -destalias alias1
# keytool -keypasswd -keystore ks.jks -alias alias1
Creo un ContextSSL utilizzando questo keystore, e proposta a collegarmi ai tre service che mi permettono di autenticarmi con i tre certificati (sono sullo stesso endpoint, facendo una sorta di routing sulla base di un parametro passato nella chiamata soap).
Noto che me ne funziona solo uno. Il secondo per la precisione.
Allora provo a rimuovere il secondo certificato:
# keytool -delete -alias alias2 -keystore ks.jks
A questo punto il servizio relativo al secondo certificato ovviamente non funziona più. Ora mi funziona il servizio del certificato 3, e non quello del certificato 1.
Come è possibile intuire, se rimuovo anche il certificato 3, allora riesco ad accedere al servizio 1.
Sembra che cerchi di utilizzare sempre il primo certificato che trova (chissà poi con che ordine), ma non mi è chiaro sulla base di cosa potrebbe essere in grado di scegliere il certificato corretto...
Qualche idea? Oppure devo rassegnarmi a tirare su e distruggere contesti ssl diversi per ogni certificato?
ciao!
T