GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit WSO2 s certifikátem Let’s Encrypt

Nastavení certifikátu SSL pro WSO2 API Manager není jednoduché, protože vyžaduje vytvoření úložiště klíčů a přidání certifikátu SSL do úložiště klíčů. V tomto článku uvidíme, jak nastavit WSO2 s certifikátem Let’s Encrypt.

Předpokládám, že již máte vydaný certifikát Let’s Encrypt a jste připraveni jej přidat do WSO2 Keystores. Pokud ne, pokračujte a pořiďte si jeden pro svou doménu. V mém případě jsem měl server NGINX jako front-end služby WSO2, a proto jsem získal certifikát Let’s Encrypt pomocí certbot program pro webový server NGINX.

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

Jakmile je certifikát vydán, najdete .pem soubory pod ‘/etc/letsencrypt/live/<domain_name>/ ‘ složka. Nyní zkopírujte cert.pem a privkey.pem soubory do vašeho domovského adresáře a postupujte podle níže uvedených kroků.

Jak nastavit WSO2 s certifikátem Let’s Encrypt?

Krok 1:Vytvořte soubor PKCS12/PFX pomocí cert.pem a privkey.pem soubory.

Příkaz OpenSSL použijeme k exportu certifikátů do formátu PKCS12/PFX a na výzvu jej zabezpečíme silným heslem.

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

Volba -name přebírá alias jako hodnotu. Alias ​​může být jakýkoli název a je vyžadován pro pozdější použití v konfiguračních souborech WSO2.

Krok 2:Vytvoření úložiště klíčů Java

Jakmile budete mít soubor PFX připravený, vytvořte úložiště klíčů Java pomocí níže uvedeného příkazu.

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

Aby výše uvedený příkaz fungoval, musíte mít nainstalovaný JDK (samozřejmě již máte připravený WSO2 Setup). Příkaz keytool bude umístěn uvnitř bin adresář JDK.

Výše uvedený příkaz vás vyzve k zadání hesla jak zdrojového, tak cílového úložiště klíčů.

Krok 3:Exportujte veřejný klíč ze souboru úložiště klíčů Java.

WSO2 přichází s veřejným úložištěm důvěryhodnosti (client-truststore.jks a tento soubor je třeba aktualizovat pomocí veřejného klíče souboru JKS vytvořeného v kroku 2.

Pojďme tedy do toho a exportujeme veřejný klíč z letsencrypt.jks soubor. Chcete-li to provést, spusťte níže uvedený příkaz.

$ keytool -export -alias "letsencrypt" -keystore letsencrypt.jks -file letsencrypt.pem
Poznámka:

Nezapomeňte použít stejný alias „letsencrypt ‘, kterou jste nastavili v kroku 1.

Krok 4 :Přesunout letsencrypt.jks a letsencrypt.pem soubory do následujícího adresáře.

$ cp letsencrypt.jks letsencrypt.pem <WSO2_APIM>/repository/resources/security
Poznámka:

WSO2_APIM by měl být nahrazen instalačním adresářem WSO2.

Krok 5: Přidejte veřejný klíč do client-truststore.jks

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

-storepass převezme hodnotu jako wso2carbon , což je výchozí heslo klientského důvěryhodného úložiště.

Krok 6:Nakonfigurujte úložiště klíčů pomocí Správce API WSO2.

Nakonfigurujte WSO2 API Manager pomocí nového úložiště klíčů vytvořeného v kroku 2. K tomu je třeba upravit následující soubory.

Některé verze WSO2 vyžadují carbon.xml soubor, který chcete upravit, ale nejnovější verze potřebují pouze deployment.toml soubor, který má být změněn (protože WSO2 dokázalo zjednodušit konfigurační model).

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

Vyhledejte <KeyStore> tag a nahraďte jej níže uvedeným.

<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>
Poznámka:

Nezapomeňte použít stejné heslo úložiště klíčů a nastavený alias při vytváření souboru JKS v kroku 2

Změňte deployment.toml soubor s podrobnostmi o novém úložišti klíčů:

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

Předpokládám, že upravím deployment.toml by mělo stačit. Pokud však věci nefungují okamžitě, můžete upravit níže uvedené soubory (pravděpodobně vyžadováno pro starší verze WSO2 API Manager).

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

Upravte všechny uvedené soubory pomocí příslušných položek úložiště klíčů.

Nyní pokračujte a restartujte server WSO2.

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

Krok 7 :Přihlaste se do rozhraní Carbon a zkontrolujte, zda bylo nové úložiště klíčů úspěšně přidáno. Klikněte na Keystores > List.

Krok 8: Pokud úložiště klíčů nenajdete, můžete jej přidat ručně kliknutím na Keystores > Add .

A je to! Nyní uvidíte zelený visací zámek vedle WSO2 URL v adresním řádku prohlížeče.

Přesto, máte problémy? Možná se budete muset podívat na následující odkazy.

  • Nastavení WSO2 s platným certifikátem
  • Import certifikátu SSL do úložiště klíčů WSO2

Linux
  1. Jak spravovat certifikáty Lets Encrypt SSL/TLS pomocí certbota

  2. Zabezpečte Nginx pomocí Let's Encrypt na Ubuntu 18.04 - Jak na to?

  3. Jak získat bezplatný certifikát SSL s SSL It! a Let's Encrypt na Plesku

  1. Jak nainstalovat Let’s Encrypt with Apache na CentOS 7

  2. Jak zabezpečit Nginx pomocí Let's Encrypt na Ubuntu 20.04

  3. Jak nainstalovat Let's Encrypt SSL s Apache na Debian 11

  1. Jak nastavit Zašifrujeme certifikát SSL pomocí Nginx na CentOS 8 / RHEL 8 &CentOS 7 / RHEL 7

  2. Jak nastavit Let's Encrypt SSL certifikát s Apache na CentOS 8 / RHEL 8 &CentOS 7 / RHEL 7

  3. Jak nastavit Let's Encrypt SSL certifikát s Nginx na Debian 10 / Debian 9