2016-10-16 1 views
1

Je suis nouveau à glassfish et ssl. J'utilise un serveur ubuntu 14.04 et téléchargé certbot. Étant donné que le serveur glassfish n'est pas supporté par certbot automation, j'ai installé un certbot-auto standalone et j'ai obtenu mes nouveaux fichiers de certificat (cert1.pem chain1.pem fullchain1.pem privkey1.pem). J'ai vu quelques tutoriels en ligne sur l'installation de SSL sur glassfish mais rien lié aux certificats certbot .pem. Y at-il un bon tutoriel ou des instructions sur l'installation de glassfish ssl avec les certificats générés letsencrypt (.pem) que je peux suivre.Installation Glassfish ssl avec certbot

Merci à l'avance

+0

avez-vous déjà trouvé la solution à votre problème J'ai aussi besoin de SSL pour glassfish 4.1.2 – qualebs

Répondre

0

En ce qui concerne la certbot question GlassFish, la solution peut se faire comme suit: Remplacer tous les [##] avec les valeurs appropriées et enregistrez le fichier de traitement par lots il

#!/bin/sh 

#replace [##] with the correct value 

#Alias of the certificate 
NAME=[##] 
#The current domain registered in letsencrypt 
DOMAIN=[##] 
#The keystore password, default is (changeit) 
KEYSTOREPW=[##] 
#Glassfish server location e.g. /home/glassfish/domains/domain1 
GFDOMAIN=[##] 
LIVE=/etc/letsencrypt/live/$DOMAIN 

mkdir etc 
cd etc 

sudo openssl pkcs12 -export -in $LIVE/cert.pem -inkey $LIVE/privkey.pem -out cert_and_key.p12 -name $NAME -CAfile $LIVE/chain.pem -caname root -password pass:$KEYSTOREPW 
sudo keytool -importkeystore -destkeystore keystore.jks -srckeystore cert_and_key.p12 -srcstoretype PKCS12 -alias $NAME -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 
sudo keytool -import -noprompt -trustcacerts -alias root -file $LIVE/chain.pem -keystore keystore.jks -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 

sudo openssl pkcs12 -export -in $LIVE/fullchain.pem -inkey $LIVE/privkey.pem -out pkcs.p12 -name glassfish-instance -password pass:$KEYSTOREPW 
sudo keytool -importkeystore -destkeystore keystore.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -alias glassfish-instance -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 

sudo openssl pkcs12 -export -in $LIVE/fullchain.pem -inkey $LIVE/privkey.pem -out pkcs.p12 -name s1as -password pass:$KEYSTOREPW 
sudo keytool -importkeystore -destkeystore keystore.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -alias s1as -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 


sudo openssl pkcs12 -export -in $LIVE/cert.pem -inkey $LIVE/privkey.pem -out cert_and_key.p12 -name $NAME -CAfile $LIVE/chain.pem -caname root -password pass:$KEYSTOREPW 
sudo keytool -importkeystore -destkeystore cacerts.jks -srckeystore cert_and_key.p12 -srcstoretype PKCS12 -alias $NAME -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 
sudo keytool -import -noprompt -trustcacerts -alias root -file $LIVE/chain.pem -keystore cacerts.jks -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 

sudo openssl pkcs12 -export -in $LIVE/fullchain.pem -inkey $LIVE/privkey.pem -out pkcs.p12 -name glassfish-instance -password pass:$KEYSTOREPW 
sudo keytool -importkeystore -destkeystore cacerts.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -alias glassfish-instance -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 

sudo openssl pkcs12 -export -in $LIVE/fullchain.pem -inkey $LIVE/privkey.pem -out pkcs.p12 -name s1as -password pass:$KEYSTOREPW 
sudo keytool -importkeystore -destkeystore cacerts.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -alias s1as -srcstorepass $KEYSTOREPW -deststorepass $KEYSTOREPW -destkeypass $KEYSTOREPW 


# ====== Download latest list of cacert and import it into the cacerts.jks ========== # 

wget https://curl.haxx.se/ca/cacert.pem --no-check-certificate -O cacert.pem 

PEM_FILE=cacert.pem 
KEYSTORE=cacerts.jks 
# number of certs in teh PEM file 
CERTS=$(grep 'END CERTIFICATE' $PEM_FILE| wc -l) 

# For every cert in the PEM file, extract it and import into the JKS keystore 
# awk command: step 1, if line is in the desired cert, print the line 
#    step 2, increment counter when last line of cert is found 
for N in $(seq 0 $(($CERTS - 1))); do 
    ALIAS="${PEM_FILE%.*}-$N" 
    cat $PEM_FILE | 
    awk "n==$N { print }; /END CERTIFICATE/ { n++ }" | 
    keytool -noprompt -import -trustcacerts \ 
      -alias $ALIAS -keystore $KEYSTORE -storepass $KEYSTOREPW 
done 

# ==================================================================================== # 


sudo keytool -list -keystore keystore.jks -storepass $KEYSTOREPW 
sudo keytool -list -keystore cacerts.jks -storepass $KEYSTOREPW 

if [ ! -f $GFDOMAIN/config/keystore-orig.jks ]; then 
echo "Backing up original files..." 
sudo cp -f $GFDOMAIN/config/keystore.jks $GFDOMAIN/config/keystore-orig.jks 
sudo cp -f $GFDOMAIN/config/cacerts.jks $GFDOMAIN/config/cacerts-orig.jks 
fi 

echo "Updating certificates..." 
sudo cp -f keystore.jks $GFDOMAIN/config/keystore.jks 
sudo cp -f cacerts.jks $GFDOMAIN/config/cacerts.jks 

cd .. 

sudo rm -rf etc 
0

Voici une bonne tutorial sur Crypter, Glassfish et AWS EC2 Let.

Pour mettre en évidence les points clés (au cas où le lien ne sera plus valable):

Il suit la documentation certbot décrit leur website jusqu'à

certbot certonly --manual -d example.com 

Puis vient la partie importante w.r.t. glassfish

Installation du certificat sur Glassfish

Glassfish a un fichier appelé keystore.jks, où vous devez ajouter le certificat et la clé qui ont déjà été créés. Le fichier doit être situé à:

<AS_HOME>/domains/domain1/config/keystore.jks 

et le mot de passe par défaut est « changeit »

Ajout des deux fichiers au keystore est un processus en 2 étapes: Accédez au répertoire GlassFish répertoire config

cd <AS_HOME>/domains/domain1/config/ 

Créer un keystore des 2 fichiers

Créer un fichier contenant .pkcs12 chaîne complète et clé privée

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out pkcs.p12 -name letsencryptcrt 

Vous allez définir un mot de passe pour ce fichier, que vous devrez spécifier à l'étape suivante (STORE_PASS).

Convertir PKCS12 à KeyStore

keytool -importkeystore -deststorepass PASSWORD_STORE -destkeypass PASSWORD_KEYPASS -destkeystore letsencrypt.jks -srckeystore pkcs.p12 -srcstoretype PKCS12 -srcstorepass STORE_PASS -alias letsencryptcrt 

Je recommande le réglage de tous ces mots de passe (PASSWORD_STORE, PASSWORD_KEYPASS et STORE_PASS) le même que le mot de passe de keystore.jks d'origine depuis, au point suivant, les mots de passe de la source et les fichiers de clés de destination doivent être identiques.

Importer le keystore créé dans le keystore Glassfish

keytool -importkeystore -srckeystore letsencrypt.jks -destkeystore keystore.jks 

Bien sûr, assurez-vous que les chemins d'accès à tous les fichiers référencés sont corrects, en prenant en compte le répertoire courant, lorsque vous exécutez toutes ces commandes.

Configuration de l'écouteur HTTPS Glassfish

Maintenant que tout est installé, tout ce que vous devez faire est de se connecter à la console d'administration Glassfish et définir le Listener HTTP approprié.

Glassfish a 3 auditeurs HTTP prédéfinis, sous

> Configuration serveur-config> Service HTTP> HTTP auditeurs. Http-listener-2 est celui pour HTTPS.

Les 2 paramètres suivants doivent être effectués:

Set the port to 443 (HTTPS port) 
In the SSL tab, set the Certificate NickName to letsencryptcrt and the Key Store to keystore.jks 

Cliquez sur "Enregistrer", redémarrez l'instance de Glassfish et vous avez terminé. Vous devriez maintenant être en mesure d'accéder à toute application déployée via https://example.com/ ...