GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer WSO2 avec le certificat Let's Encrypt

La configuration d'un certificat SSL pour le gestionnaire d'API WSO2 n'est pas simple, car elle nécessite la création d'un magasin de clés et l'ajout d'un certificat SSL au magasin de clés. Dans cet article, nous verrons comment configurer WSO2 avec le certificat Let's Encrypt.

Je suppose que vous avez déjà émis le certificat Let's Encrypt et que vous êtes prêt à l'ajouter aux magasins de clés WSO2. Sinon, allez-y et obtenez-en un pour votre domaine. Dans mon cas, j'avais le serveur NGINX frontal des services WSO2, j'avais donc obtenu le certificat Let's Encrypt en utilisant le certbot programme pour le serveur Web NGINX.

$ sudo certbot --nginx -d tg.com -d www.tg.com

Une fois le certificat émis, vous trouverez .pem fichiers sous '/etc/letsencrypt/live/<domain_name>/ ' dossier. Copiez maintenant le cert.pem et privkey.pem fichiers dans votre répertoire personnel et suivez les étapes ci-dessous.

Comment configurer WSO2 avec le certificat Let's Encrypt ?

Étape 1 :Créer un fichier PKCS12/PFX à l'aide de cert.pem et privkey.pem fichiers.

Nous utiliserons la commande OpenSSL pour exporter les certificats au format PKCS12/PFX et les sécuriser avec un mot de passe fort lorsque vous y serez invité.

$ openssl pkcs12 -export -in cert.pem -inkey privkey.pem -name "letsencrypt" -out letsencrypt.pfx
Noter:

L'option -name prend l'alias comme valeur. L'alias peut être n'importe quel nom et est nécessaire pour l'utiliser ultérieurement dans les fichiers de configuration WSO2.

Étape 2 :Création d'un magasin de clés Java

Une fois le fichier PFX prêt, créez le Java Keystore à l'aide de la commande ci-dessous.

$ keytool -importkeystore -srckeystore letsencrypt.pfx -srcstoretype pkcs12 -destkeystore letsencrypt.jks -deststoretype JKS

Pour que la commande ci-dessus fonctionne, vous devez avoir installé JDK (bien sûr, vous avez déjà la configuration WSO2 prête). La commande keytool serait situé à l'intérieur de bin répertoire du JDK.

La commande ci-dessus vous demandera le mot de passe du Keystore source et du Keystore de destination.

Étape 3 :Exportez la clé publique à partir du fichier Java Keystore.

WSO2 est livré avec le magasin de confiance public (client-truststore.jks et ce fichier doit être mis à jour avec la clé publique du fichier JKS créé à l'étape 2.

Alors allons-y et exportons la clé publique depuis le letsencrypt.jks dossier. Pour ce faire, exécutez la commande ci-dessous.

$ keytool -export -alias "letsencrypt" -keystore letsencrypt.jks -file letsencrypt.pem
Noter:

N'oubliez pas d'utiliser le même alias 'letsencrypt ‘ que vous aviez défini à l'étape 1.

Étape 4 :Déplacer letsencrypt.jks et letsencrypt.pem fichiers dans le répertoire suivant.

$ cp letsencrypt.jks letsencrypt.pem <WSO2_APIM>/repository/resources/security
Noter:

WSO2_APIM doit être remplacé par le répertoire d'installation de WSO2.

Étape 5 : Ajouter une clé publique au client-truststore.jks

$ cd <WSO2_APIM>/repository/resources/security
$ keytool -import -alias letsencrypt -file letsencrypt.pem -keystore client-truststore.jks -storepass wso2carbon
Noter:

-storepass prend la valeur comme wso2carbon , qui est le mot de passe par défaut du magasin de confiance du client.

Étape 6 :Configurez le magasin de clés avec le gestionnaire d'API WSO2.

Configurez le WSO2 API Manager avec le nouveau Keystore créé à l'étape 2. Pour ce faire, les fichiers suivants doivent être modifiés.

Certaines versions de WSO2 nécessitent carbon.xml fichier à modifier, mais les dernières versions n'ont besoin que du deployment.toml fichier à modifier (car le WSO2 a réussi à simplifier le modèle de configuration).

$ vi <WSO2_APIM>/repository/conf/carbon.xml

Recherchez <KeyStore> balise et remplacez-la par celle ci-dessous.

<KeyStore>
<!-- Keystore file location-->
<Location>${carbon.home}/repository/resources/security/letsencrypt.jks</Location>
<!-- Keystore type (JKS/PKCS12 etc.)-->
<Type>JKS</Type>
<!-- Keystore password-->
<Password><Keystore password></Password>
<!-- Private Key alias-->
<KeyAlias>letsencrypt</KeyAlias>
<!-- Private Key password-->
<KeyPassword><Keystore password></KeyPassword>
</KeyStore>
Noter:

N'oubliez pas d'utiliser le même mot de passe Keystore et le même jeu d'alias lors de la création du fichier JKS à l'étape 2

Modifiez le deployment.toml fichier avec les détails du nouveau Keystore :

$vi <WSO2_APIM>/repository/conf/deployment.toml
[keystore.tls]
file_name = "letsencrypt.jks"
type = "JKS"
password = "<Keystore password>"
alias = "letsencrypt"
key_password = "<Keystore password>"

Je suppose que je modifie deployment.toml devrait suffire. Cependant, si les choses ne fonctionnent pas immédiatement, vous pouvez modifier les fichiers ci-dessous (probablement requis pour les anciennes versions de WSO2 API Manager).

$ cd <WSO2_APIM>/repository/conf/
$ grep -rn "*.jks"

Modifiez tous les fichiers répertoriés avec les entrées Keystore pertinentes.

Maintenant, allez-y et redémarrez le serveur WSO2.

$ <WSO_APIM>/bin/api-manager.sh --restart

Étape 7 :Connectez-vous à l'interface Carbon et vérifiez si le nouveau Keystore est ajouté avec succès. Cliquez sur Keystores > List.

Étape 8 : Si vous ne trouvez pas le Keystore, vous pouvez l'ajouter manuellement en cliquant sur Keystores > Add .

C'est ça! Vous verrez maintenant le cadenas vert à côté de l'URL WSO2 dans la barre d'adresse du navigateur.

Vous avez encore des problèmes ? Vous devrez peut-être consulter les références suivantes.

  • Configuration de WSO2 avec un certificat valide
  • Importer un certificat SSL dans les magasins de clés WSO2

Linux
  1. Comment gérer les certificats Lets Encrypt SSL/TLS avec certbot

  2. Sécuriser Nginx avec Let's Encrypt sur Ubuntu 18.04 - Comment faire ?

  3. Comment installer Let's Encrypt avec Apache sur CentOS 7

  4. Comment sécuriser Nginx avec Let's Encrypt sur Ubuntu 20.04

  5. Comment obtenir un certificat SSL gratuit avec SSL It ! et Let's Encrypt sur Plesk

Comment installer Let's Encrypt SSL avec Nginx sur CentOS 7

Comment installer LetsEncrypt avec Nginx sur Ubuntu 15.04

Sécurisez Nginx avec le certificat SSL Let's Encrypt sur Ubuntu 18.04

Comment sécuriser Nginx avec le certificat SSL Let's Encrypt

Comment sécuriser Apache avec Let's Encrypt sur CentOS 8

Comment sécuriser Nginx avec Let's Encrypt sur CentOS 8