/ / Certificat SSL valide signé par sa propre autorité de certification - java, apache, tomcat, ssl, https

Certificat SSL valide signé par sa propre autorité de certification - java, apache, tomcat, ssl, https

El problème: Je veux avoir mon propre CA et émettre signécertificats pouvant être utilisés en interne à des fins de test des applications Android et des services Web REST communiquant via HTTPS. Mon serveur de choix est Tomcat 7. J'ai suivi les instructions pour configurer SSL à l'aide de keytool sur Tomcat conformément au Installation d'un certificat à partir d'une section d'autorité de certification de sa documentation:

keytool -genkey -alias tomcat -keystore keystore.jks
keytool -certreq -alias tomcat -file certreq.csr -keystore keystore.jks

Pour signer la demande de signature de certificat, j'utilise openssl:

openssl ca -config openssl.cnf -out server.crt -extensions android_ext 
-extfile android_ext.cnf -md sha256 -infiles certreq.csr

Et enfin, j'importe le certificat de l'autorité de certification et le certificat du serveur dans le magasin de clés:

keytool -import -alias root -keystore keystore.jks -trustcacerts -file cacert.crt
keytool -import -alias tomcat -keystore keystore.jks -file server.crt

Après cela, j'ai configuré tomcat pour qu'il utilise keystore.jks et le lance. Si je vais dans Firefox et que j'essaie de naviguer en utilisant https, j'obtiens une erreur «Échec de la connexion sécurisée».

En cours d'exécution openssl s_client je reçois cette sortie.

Exécution de keytool -printcert je reçois cette sortie.

Et si je cours openssl verify -CAfile .cacacert.pem .server.crt Je reçois:

.server.crt: OK

En ce qui concerne ma connaissance de SSL et des certificats, je ne trouve pas pourquoi une erreur se produit lorsque je passe par Firefox Plus intéressant encore, l'utilisation de Chrome me donne une erreur "Connection Reset".

J'ai besoin d'aide pour comprendre ce qui pourrait ne pas être correct? Des pensées?

Réponses:

0 pour la réponse № 1

La soluzione

Après deux jours, nous avons donc essayé de comprendre ce qui pouvait mal tourner - j'ai posté ici en dernier recours - un collègue a indiqué que Chrome supprimerait progressivement les certificats signés - ce,ce et ce. Et apparemment, openssl signe avec sha1 pardéfaut. Il s’agissait donc simplement de créer un nouveau certificat pour le CA avec une signature plus forte et de le signer à nouveau. Voici les commandes pour référence future:

openssl req -new -key .privatecakey.pem.old -out .caca.csr -sha256 -config openssl.cnf
openssl x509 -req -days 8052 -sha256 -in .caca.csr -signkey .privatecakey.pem -out cacacert.pem