2013-07-19 2 views
2

Salut, j'ai mal à la tête en essayant de boucler un service web REST que j'ai créé localement sur SSL. Je continue à recevoir le message « boucle: (60) problème de certificat SSL: certificat auto-signé Plus de détails ici: http://curl.haxx.se/docs/sslcerts.html boucle effectue la vérification du certificat SSL par défaut, en utilisant un « paquet » de l'autorité de certification (CA) clés publiques (Si le fichier groupé par défaut n'est pas adéquat, vous pouvez spécifier un autre fichier en utilisant l'option --cacert Si ce serveur HTTPS utilise un certificat signé par une autorité de certification représentée en le lot, la vérification du certificat probablement échoué en raison d'un problème avec le certificat (il peut avoir expiré, ou le nom peut ne correspond pas au nom de domaine dans l'URL) Si vous souhaitez rn de la vérification de curl du certificat, utilisez l'option -k (ou --insecure). "curl auto-signé certificat service web sur SSL

Voici les étapes que je suivis

  1. créé mon certificat propre CA avec certificat privé OpenSSL et OpenSSL paire de clés req -x509 -nouvelle -config c: \ X509CA \ openssl.cfg -days 365 c -out : \ X509CA \ ca \ private_ca.pem -keyout c: \ X509CA \ ca \ private_ca_pk.pem mon CN: RESTfulCustomer
  2. a créé le keystore et mycert.pem keytool -genkey -validity 365 -alias mot de passe -keypass MyAlias -keystore myKeyStore.jks -storepass password utilisé le même CN que ci-dessus

  3. créé une demande de signature de certificat keytool -certreq -alias MyAlias ​​-file myCert_csr.pem -keypass mot de passe -keystore mot de passe myKeyStore.jks

  4. signé la RSE avec OpenSSL ca c -config: \ X509CA \ openssl.cfg -days 365 -dans c: \ chemin \ vers \ magasin_clé \ monCert_csr.pem -out c: \ chemin \ vers \ magasin_clé \ monCert.pem

  5. Convertis au format PEM - Convertissez le signé certificat, CertName.pem, au format PEM uniquement, comme suit: Openssl x509 -in c: \ chemin \ vers \ magasin_clé \ monCert.pem -out c: \ chemin \ vers \ key_store \ myCert.pem -outform PEM

  6. concaténer le fichier de certificat CA et la certName.pem copie myCert.pem + c: \ X509CA \ ca \ new_ca.pem myCert.chain
  7. Mise à jour avec le plein keystore certificat chaîne - Mettez à jour le fichier de clés, CertName.jks, en important la chaîne de certificats complète pour le certificat, comme suit: keytool -import -file myCert.chain -keypass mot de passe -keystore myKeyStore.jks -storepass motdepasse enfin importé dans firefox, mis à jour mon server.xml apache tomacat 7 commence bien et je pourrais naviguer à ma page Web de SSL sans problèmes. Curl ne fonctionne pas sans utiliser --insecure. Ma commande Curl boucle -v --cacert ca.pem https: // localhost: 8443/RESTfulCustomer/customers.json

la commande curl me donne au-dessus du message « boucle: (60) problème de certificat SSL : certificat autosigné "

Exécution de la commande Curl pour http // localhost: 8080/RESTfuCustomer.customers.json avec ssl désactivé fonctionne correctement.J'ai importé le ca.pem dans myKeyStore.jks et j'ai redémarré Apache. fenêtres environemnt 7, 7 tomcat apache, sécurité du ressort 3.1, boucle 7.30.0 (i386-pc-win32) libcurl/7.30.0 OpenSSL/1.0.1c zlib/1.2.7

toute aide serait vraiment apprécié merci

+1

Envisagez de modifier votre question afin d'améliorer la lisibilité. N'hésitez pas à utiliser les fonctionnalités audacieuses pour mettre en évidence les détails importants ou peut-être quelle est votre question. Cela vous obtiendra des réponses jeûnes. Autre que cela, bienvenue à SO! –

Répondre

-1

s'il vous plaît se référer à la réponse suivante:

Résumons:

% openssl s_client -showcerts -connect example.com:443 </dev/null 2>/dev/null | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' | grep -m1 -B-1 -- '-----END CERTIFICATE-----' > cert.pem 
% curl --cacert cert.pem https://example.com 

et tada, vous vous connectez en toute sécurité à un site web auto-signé.

Questions connexes