Manière correcte d'importer des certificats root et intermédiaire dans Java cacerts
Mon entreprise a son propre certificat ROOT
. En utilisant ce certificat, ils ont signé le certificat intermediate
.
Ensuite, nous avons émis le certificat CSR pour le certificat server
et l'avons signé avec le certificat intermediate
.
Quelle est la bonne façon d'importer le certificat ROOT
et intermediate
dans le fichier Java cacerts, afin de pouvoir établir une connexion SSL avec le serveur qui a le certificat server
signé par le intermediate
?
J'ai utilisé OpenSSL pour tester la chaîne de certificats sur le serveur:
openssl s_client -showcerts -connect host:443
CONNECTED(00000003)
depth=0 C = COUNTRYCODE, ST = myCountry, O = myOrganization, CN = myServer, emailAddress = myMail
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 C = COUNTRYCODE, ST = myCountry, O = myOrganization, CN = myServer, emailAddress = myMail
verify error:num=27:certificate not trusted
verify return:1
depth=0 C = COUNTRYCODE, ST = myCountry, O = myOrganization, CN = myServer, emailAddress = myMail
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/C=COUNTRYCODE/ST=myCountry/O=myOrganization/CN=myServer/emailAddress=myMail
i:/CN=INTERMEDIATECERT
-----BEGIN CERTIFICATE-----
MIIFr...
-----END CERTIFICATE-----
---
Server certificate
subject=/C=COUNTRYCODE/ST=myCountry/O=myOrganization/CN=myServer/emailAddress=myMail
issuer=/CN=INTERMEDIATECERT
---
No client certificate CA names sent
---
SSL handshake has read 1601 bytes and written 589 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
1 answers
Vous suffit d'importer le certificat racine dans le truststore.
keytool -import -trustcacerts -keystore path/to/cacerts -storepass changeit -alias aliasName -file path/to/certificate.cer
Le serveur SSL pendant la prise de contact doit fournir le certificat et les intermédiaires. Le TrustManager de votre client validera la chaîne de certification jusqu'à ce que root soit trouvé
Remarque: Il est recommandé d'utiliser votre propre truststore au lieu de modifier cacerts