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
Author: dplesa, 2017-02-03

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

 1
Author: pedrofb, 2017-02-04 08:15:29