GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie WSO2 mit dem Let’s Encrypt-Zertifikat ein

Das Einrichten eines SSL-Zertifikats für WSO2 API Manager ist nicht einfach, da es das Erstellen eines Schlüsselspeichers und das Hinzufügen eines SSL-Zertifikats zum Schlüsselspeicher erfordert. In diesem Artikel erfahren Sie, wie Sie WSO2 mit dem Let’s Encrypt-Zertifikat einrichten.

Ich gehe davon aus, dass Sie das Let’s Encrypt-Zertifikat bereits ausgestellt haben und bereit sind, es zu den WSO2-Keystores hinzuzufügen. Wenn nicht, besorgen Sie sich einen für Ihre Domain. In meinem Fall hatte ich den NGINX-Server als Front-End für die WSO2-Dienste, daher hatte ich das Let’s Encrypt-Zertifikat mit dem certbot erhalten Programm für NGINX-Webserver.

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

Sobald das Zertifikat ausgestellt ist, finden Sie .pem Dateien unter „/etc/letsencrypt/live/<domain_name>/ ' Mappe. Kopieren Sie nun die cert.pem und privkey.pem Dateien in Ihr Home-Verzeichnis und befolgen Sie die nachstehenden Schritte.

Wie richte ich WSO2 mit dem Let’s Encrypt-Zertifikat ein?

Schritt 1:PKCS12/PFX-Datei mit cert.pem erstellen und privkey.pem Dateien.

Wir werden den OpenSSL-Befehl verwenden, um Zertifikate in das PKCS12/PFX-Format zu exportieren und sie bei Aufforderung mit einem starken Passwort zu sichern.

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

-name-Option nimmt Alias ​​als Wert. Der Alias ​​kann ein beliebiger Name sein und wird später für die Verwendung in den WSO2-Konfigurationsdateien benötigt.

Schritt 2:Java-Schlüsselspeicher erstellen

Sobald Sie die PFX-Datei bereit haben, erstellen Sie den Java Keystore mit dem folgenden Befehl.

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

Damit der obige Befehl funktioniert, müssen Sie JDK installiert haben (natürlich haben Sie bereits WSO2 Setup bereit). Der Befehl keytool würde sich in bin befinden Verzeichnis des JDK.

Der obige Befehl fordert zur Eingabe des Passworts sowohl des Quell-Keystores als auch des Ziel-Keystores auf.

Schritt 3:Exportieren Sie den öffentlichen Schlüssel aus der Java Keystore-Datei.

WSO2 enthält den öffentlichen Truststore (client-truststore.jks und diese Datei muss mit dem öffentlichen Schlüssel der in Schritt 2 erstellten JKS-Datei aktualisiert werden.

Machen wir also weiter und exportieren den öffentlichen Schlüssel aus letsencrypt.jks Datei. Führen Sie dazu den folgenden Befehl aus.

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

Denken Sie daran, denselben Alias ​​„letsencrypt“ zu verwenden ‘, die Sie in Schritt 1 festgelegt hatten.

Schritt 4 :Verschieben Sie letsencrypt.jks und letsencrypt.pem Dateien in das folgende Verzeichnis.

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

WSO2_APIM sollte durch das WSO2-Installationsverzeichnis ersetzt werden.

Schritt 5: Fügen Sie einen öffentlichen Schlüssel zu client-truststore.jks hinzu

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

-storepass nimmt den Wert als wso2carbon an , das das Standardkennwort des Client-Truststores ist.

Schritt 6:Konfigurieren Sie den Keystore mit WSO2 API Manager.

Konfigurieren Sie den WSO2 API Manager mit dem in Schritt 2 erstellten neuen Schlüsselspeicher. Dazu müssen die folgenden Dateien bearbeitet werden.

Einige Versionen von WSO2 erfordern carbon.xml Datei bearbeitet werden, aber die neuesten Versionen benötigen nur die deployment.toml Datei geändert werden (da WSO2 es geschafft hat, das Konfigurationsmodell zu vereinfachen).

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

Suchen Sie nach <KeyStore> -Tag und ersetzen Sie es durch das folgende.

<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>
Notiz:

Denken Sie daran, beim Erstellen der JKS-Datei in Schritt 2 dasselbe Keystore-Passwort und denselben Aliassatz zu verwenden

Ändern Sie die deployment.toml Datei mit den Details des neuen Schlüsselspeichers:

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

Ich nehme an, deployment.toml zu ändern sollte genügen. Wenn die Dinge jedoch nicht sofort funktionieren, können Sie die folgenden Dateien bearbeiten (wahrscheinlich erforderlich für die älteren Versionen von WSO2 API Manager).

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

Bearbeiten Sie alle aufgelisteten Dateien mit den relevanten Keystore-Einträgen.

Fahren Sie jetzt fort und starten Sie den WSO2-Server neu.

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

Schritt 7 :Melden Sie sich an der Carbon-Oberfläche an und prüfen Sie, ob der neue Keystore erfolgreich hinzugefügt wurde. Klicken Sie auf Keystores > List.

Schritt 8: Wenn Sie den Schlüsselspeicher nicht finden, können Sie ihn manuell hinzufügen, indem Sie auf Keystores > Add klicken .

Das ist es! Sie sehen nun das grüne Vorhängeschloss neben der WSO2-URL in der Adressleiste des Browsers.

Haben Sie trotzdem Probleme? Möglicherweise müssen Sie sich die folgenden Referenzen ansehen.

  • WSO2 mit einem gültigen Zertifikat einrichten
  • SSL-Zertifikat in WSO2-Keystores importieren

Linux
  1. So verwalten Sie SSL/TLS-Zertifikate von Lets Encrypt mit certbot

  2. So installieren Sie Let’s Encrypt mit Apache unter CentOS 7

  3. So sichern Sie Nginx mit Let’s Encrypt unter Ubuntu 20.04

  4. So installieren Sie Let’s Encrypt SSL mit Apache unter Debian 11

  5. So erhalten Sie ein kostenloses SSL-Zertifikat mit SSL It! und Let’s Encrypt auf Plesk

So installieren Sie Let’s Encrypt SSL mit Nginx unter CentOS 7

So installieren Sie LetsEncrypt mit Nginx unter Ubuntu 15.04

Sichern Sie Nginx mit Let’s Encrypt SSL-Zertifikat auf Ubuntu 18.04

So sichern Sie Nginx mit dem Let’s Encrypt SSL-Zertifikat

So sichern Sie Apache mit Let’s Encrypt unter CentOS 8

So sichern Sie Nginx mit Let’s Encrypt unter CentOS 8