Configurer SSL sur la Jetée
Je suis en train de configurer SSL sur mon Quai.
J'ai lu ceci:
http://docs.codehaus.org/display/JETTY/How+à+configuration+SSL
et a créé un magasin de clés.
Alors, j'ai sauté directement à la section 4. Mais où est ce fichier de configuration je dois configurer Jetty?
J'ai essayé de recheche jetty.xml mais il n'existe pas sur mon ordinateur...
- Pour ceux qui recherchent une documentation mise à jour, le lien est ici: eclipse.org/jetty/documentation/current/configuring-ssl.html
Vous devez vous connecter pour publier un commentaire.
J'ai eu beaucoup de problèmes pour le faire fonctionner, mais j'ai finalement trouvé comment faire dans les parages. Je suis sous ubuntu 10.04 avec java 7. Il peut être possible de le faire sous windows, mais tous les comands lignes de commandes bash, peut-être possible de faire la même chose avec cigwin/mingw
J'ai utilisé de la Jetée 8.1.8. Télécharger à partir de codehaus et choisissez le .tar.gz fichier pour linux (.zip pour windows).
Décompressez le fichier dans le répertoire que vous souhaitez, ce sera votre {jetée} dossier d'accueil pour les besoins de cet article/réponse.
Aller à la {jetée}/etc répertoire.
Exécuter toutes les lignes de commande suivantes dans l'ordre. Chaque fois qu'un mot de passe est demandé, entrez le même mot de passe tout le temps. Les mots de passe sont utilisés pour protéger la clé, le fichier de magasin de clés et le certificat lui-même. Parfois, un mot de passe vous sera demandé pour déverrouiller la clé de stockage ou à l'utilisation d'une clé générée. Une fois que vous comprenez ce que tout est et comment utiliser les mots de passe correctement, vous pouvez changer ces mots de passe lorsque vous vous sentez prêt (plus sûr pour une utilisation en production). Sinon, saisissez les informations demandées lors de la demande.
Maintenant, vous devez modifier {jetée}/etc/jetty-ssl.xml et configurer votre mot de passe correspond à celui que vous avez utilisé lors de la génération de certificats. Si vous souhaitez dissimuler votre mot de passe, retournez à la ligne de commande. Aller tho votre {jetée} répertoire d'accueil et d'exécuter les opérations suivantes:
Changement {MOT de passe} pour votre mot de passe actuel puis le mot de passe dissimulé, y compris le "OBF:" dans tous les champs de mot de passe trouvé dans jetty-ssl.xml. Note qu'un mot de passe d'obfuscation comme ça, c'est dur à lire pour les humains, mais facilement unobfiscated par programmation. Il vient de prévenir les développeurs à connaître le mot de passe lors de modifier le fichier. Tous les fichiers de configuration doivent être fixés correctement et que leur accès soit aussi restrictive que possible.
Modifier {jetée}/start.ini et décommentez la ligne #etc/jetty-ssl.xml (il suffit de retirer le #).
Début de la jetée:
Maintenant communiquer avec votre serveur à:
https://localhost:8443
Fait!
Noter que cette réponse est un moyen rapide pour activer le protocole SSL avec jetty. Pour assurer la sécurité de la production, vous avez pour lire un peu plus sur le sujet.
Réponse mis à jour après plus d'expérience avec des fichiers de clés. Je vous assure que cette solution fonctionne parfaitement avec les certificats intermédiaires (29/07/2015).
Remarque: le format PEM signifie un fichier lisible, certificats de commencer avec
---BEGIN CERTIFICATE---
et les clés privées de commencer avec-----BEGIN PRIVATE KEY-----
ligne.Voici un guide étape par étape. Commencez avec un répertoire vide.
Passez à l'Étape 2 si vous avez la clé privée (encodé au format PEM .la clé)
Passez à l'Étape 3 si vous avez des demande de signature de certificat (encodé au format PEM .la rse)
Passez à l'Étape 4 si vous avez votre certificat (encodé au format PEM .crt ou .pem)
Préparer (sans mot de passe) de la clé privée.
Préparer la demande de signature de certificat (CSR). Nous allons générer à l'aide de notre clé. Entrez les informations pertinentes lorsque demandé. Notez l'utilisation de
-sha256
, sans elle, les navigateurs modernes va générer un message d'avertissement.Préparer certificat. Choisissez:
a) de Signer vous-même
b) de l'Envoyer à une autorité
Votre fournisseur de certificats SSL, de vous fournir votre certificat et de leurs certificats intermédiaires au format PEM.
Ajouter à la chaîne de confiance et un package au format PKCS12. Première commande définit un mot de passe du fichier de clés pour des raisons de commodité (sinon, vous devrez entrer le mot de passe une dizaine de fois). Définir un mot de passe différent pour la sécurité.
Choisissez:
a) certificat Auto-signé (pas besoin de certificats intermédiaires)
b) la Nécessité d'inclure les certificats intermédiaires
Télécharger les certificats intermédiaires et concat en un seul fichier. L'ordre doit être sous la racine.
Utiliser un
-caname
paramètre pour chaque certificat intermédiaire dans la chaîne de fichier, correspondant à l'ordre qu'ils ont été mis dans la chaîne de fichier.Remarque importante: Bien que
keytool -list
ne liste une entrée et pas de certificats intermédiaires, il fonctionne parfaitement.Configurer la jetée.
Déplacer
domain.keystore
fichier à JETTY_HOME/etc/.Choisissez:
a) Vous êtes en utilisant de nouveaux
start.ini
style de configuration (Jetty 8+):b) Vous êtes à l'utilisation de l'ancienne configuration .les fichiers xml (vous devez mettre à niveau pour un nouveau style!):
Modifier
JETTY_HOME/etc/jetty-ssl.xml
fichier et modifier la partie ci-dessous. Remplacer le mot de passe pièces pour correspondre à votre mot de passe. Nous ne définissons pas leKeyManagerPassword
parce que notre clé n'a pas de mot de passe.Modifier démarrer.ini fichier à inclure jetty-ssl.xml fichier.
(Re)lancer la jetée.
Notez que ce fichier de magasin de clés peut également être utilisé avec d'autres conteneurs comme Tomcat. Bonne chance!
curl localhost:8443/ curl: (52) Empty reply from server
Le 8080 appel fonctionne toujours très bien. Toute idée de ce que j'ai raté?curl https://localhost:8443/
à la place.Un fichier de configuration par défaut pour la Jetée est situé à
$JETTY_HOME/etc/jetty.xml
Si vous utilisez du maven jetty plugin, vous devrez spécifier le fichier de clés ssl détails dans votre pom.xml fichier. Voir cette question pour plus de détails
Viens d'acheter un cert de godaddy pour la modique somme de 6/an. Pendant qu'elle dure. Voici les étapes que j'ai suivi à mettre en place sur Amazon EC2/Ubuntu/Jetée sur la base de ces sites et Jean-Philippe Gravel réponse.
http://docs.codehaus.org/display/JETTY/How+à+configuration+SSL
http://community.xmatters.com/docs/DOC-1228#.UgWsI1MU7lc
Note que "nom et prénom" doit être votre nom de domaine complet (sans http://). Lors de ma première tentative, j'avais consciencieusement mettre mon nom et prénom, mais godaddy a de bonnes mises en garde et l'a rejetée.
Générer un fichier CSR pour Godaddy:
Soumettre ce dans la Godaddy formulaire pour créer le certificat, y compris le point de début/FIN "NOUVELLE DEMANDE de CERTIFICAT".
(Godaddy vous oblige à vérifier son de votre site. Il ya un couple de méthodes pour ce et depuis que j'ai acheté le nom de domaine via un proxy, je l'ai trouvé plus facile et rapide à vérifier par l'hébergement d'une page html générée par godaddy.)
Télécharger le zip contenant à la fois le certificat et le certificat intermédiaire de godaddy. Il y a une liste des types de serveur à choisir. - Je choisir "autres". Puis de combiner cert par l'intermédiaire de cert.
exportation ma clé privée
combiner clé privée et le certificat
importation pkcs12 cert (alias devient 1)
(J'ai sauvegardé le fichier de clés puis supprimé la clé d'origine. J'ai fait cela pendant le dépannage et cela peut ou peut ne pas être exigée par la Jetée.)
Modifier votre.magasin.le mot de passe, votre.clé.le mot de passe, et votre.confiance.mot de passe en conséquence. Si vous souhaitez dissimuler, utilisez
Indiquer à l'Embarcadère pour charger le jetty-ssl.xml fichier.
(Également modifier Amazon EC2 groupe de sécurité pour permettre 443)
Si vous arrive de travailler avec ponton 9.3 alors vous devez changer la configuration dans
start.d/ssl.ini
:Où:
mystore.jks
est votre magasin généré avec lekeytool
X
est votre mot de passe en texte clair (je recommanderais sauter de dissimulation qu'il ne vous donne qu'une fausse sécurité)Le magasin est exactement la même que pour générer de Tomcat. Même si vous avez utilisé les différentes version de Java pour générer le fichier de clés qui ne devrait pas être un problème.
start.d
et d'autres fichiers, mais de quelle manière cela affecte la Jetée de la mise en œuvre tiré dans le dropwizard cadre de la dépendancestart.d
est où votre configuration doit être. Exemples de fichiers de configuration sont à l'origine de la jetée de l'installation de démonstration de la base de... vous ne savez Pas si elles diffèrent beaucoup entre la jetée de versions/éditions.Lors de la tentative de Windows avec Jetée comme Maven plugin les étapes suivantes peuvent aider:
pom.xml
Générer la clé/certificat à l'aide du JDK outil
keytool
:Cette commande va générer un fichier
keystore
dont nous avons besoin pour mettre à la suite (ou ce que jamais vous le souhaitez jusqu'à ce qu'il est configuré dans lekeystore
élément) cheminsrc/test/resources/keystore
.