GNU/Linux >> Belajar Linux >  >> Linux

Cara mengatur WSO2 dengan sertifikat Let's Encrypt

Menyiapkan sertifikat SSL untuk WSO2 API Manager tidaklah mudah, karena memerlukan pembuatan Keystore dan menambahkan sertifikat SSL ke Keystore. Dalam artikel ini, kita akan melihat cara mengatur WSO2 dengan sertifikat Let's Encrypt.

Saya berasumsi bahwa Anda sudah memiliki sertifikat Let's Encrypt yang diterbitkan dan siap untuk menambahkannya ke WSO2 Keystores. Jika tidak, lanjutkan dan dapatkan satu untuk domain Anda. Dalam kasus saya, saya memiliki server NGINX front-end layanan WSO2, maka saya telah memperoleh sertifikat Let's Encrypt menggunakan certbot program untuk server web NGINX.

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

Setelah sertifikat diterbitkan, Anda akan menemukan .pem file di bawah ‘/etc/letsencrypt/live/<domain_name>/ ' folder. Sekarang salin cert.pem dan privkey.pem file ke direktori home Anda dan ikuti langkah-langkah di bawah ini.

Bagaimana cara menyiapkan WSO2 dengan sertifikat Let's Encrypt?

Langkah 1:Buat file PKCS12/PFX menggunakan cert.pem dan privkey.pem file.

Kami akan menggunakan perintah OpenSSL untuk mengekspor sertifikat ke format PKCS12/PFX dan mengamankannya dengan kata sandi yang kuat saat diminta.

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

-nama opsi mengambil alias sebagai nilai. Alias ​​​​dapat berupa nama apa pun dan diperlukan untuk menggunakannya di file konfigurasi WSO2 nanti.

Langkah 2:Membuat Java Keystore

Setelah file PFX siap, buat Java Keystore menggunakan perintah di bawah ini.

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

Agar perintah di atas berfungsi, Anda harus menginstal JDK (tentu saja, Anda sudah menyiapkan Pengaturan WSO2). Perintah keytool akan ditempatkan di dalam bin direktori JDK.

Perintah di atas akan meminta kata sandi dari Keystore sumber dan Keystore tujuan.

Langkah 3:Ekspor kunci publik dari file Java Keystore.

WSO2 hadir dengan toko kepercayaan publik (client-truststore.jks dan file ini perlu diperbarui dengan kunci publik dari file JKS yang dibuat pada langkah 2.

Jadi mari kita lanjutkan dan ekspor kunci publik dari letsencrypt.jks mengajukan. Untuk melakukannya, jalankan perintah di bawah ini.

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

Ingatlah untuk menggunakan alias yang sama ‘letsencrypt ' yang telah Anda atur di langkah 1.

Langkah 4 :Pindahkan letsencrypt.jks dan letsencrypt.pem file ke direktori berikut.

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

WSO2_APIM harus diganti dengan direktori penginstalan WSO2.

Langkah 5: Tambahkan kunci publik ke client-truststore.jks

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

-storepass mengambil nilai sebagai wso2carbon , yang merupakan sandi default dari penyimpanan kepercayaan klien.

Langkah 6:Konfigurasikan Keystore dengan WSO2 API Manager.

Konfigurasikan WSO2 API Manager dengan Keystore baru yang dibuat di langkah 2. Untuk melakukannya, file berikut perlu diedit.

Beberapa versi WSO2 memerlukan carbon.xml file yang akan diedit, tetapi versi terbaru hanya memerlukan deployment.toml file yang akan diubah (karena WSO2 berhasil menyederhanakan model konfigurasi).

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

Cari <KeyStore> tag dan ganti dengan yang di bawah ini.

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

Ingatlah untuk menggunakan sandi Keystore dan alias yang sama saat membuat file JKS di langkah 2

Ubah deployment.toml file dengan detail Keystore baru:

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

Saya kira memodifikasi deployment.toml harus cukup. Namun, jika semuanya tidak langsung berfungsi, Anda dapat mengedit file di bawah ini (mungkin diperlukan untuk versi WSO2 API Manager yang lebih lama).

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

Edit semua file yang terdaftar dengan entri Keystore yang relevan.

Sekarang lanjutkan dan mulai ulang server WSO2.

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

Langkah 7 :Masuk ke antarmuka Carbon dan periksa apakah Keystore baru berhasil ditambahkan. Klik Keystores > List.

Langkah 8: Jika Anda tidak menemukan Keystore, Anda dapat menambahkannya secara manual dengan mengklik Keystores > Add .

Itu dia! Sekarang Anda akan melihat gembok hijau di sebelah URL WSO2 di bilah alamat browser.

Masih punya masalah? Anda mungkin perlu melihat referensi berikut.

  • Menyiapkan WSO2 dengan sertifikat yang valid
  • Mengimpor sertifikat SSL ke WSO2 Keystores

Linux
  1. Bagaimana mengelola Lets Encrypt sertifikat SSL/TLS dengan certbot

  2. Amankan Nginx dengan Let's Encrypt di Ubuntu 18.04 - Bagaimana cara melakukannya?

  3. Cara mendapatkan sertifikat SSL gratis dengan SSL It! dan Ayo Enkripsi di Plesk

  1. Cara Menginstal Let's Encrypt dengan Apache di CentOS 7

  2. Cara Mengamankan Nginx dengan Let's Encrypt di Ubuntu 20.04

  3. Cara Menginstal Let's Encrypt SSL dengan Apache di Debian 11

  1. Cara Setup Let's Encrypt SSL Certificate Dengan Nginx di CentOS 8 / RHEL 8 &CentOS 7 / RHEL 7

  2. Cara Setup Let's Encrypt SSL Certificate dengan Apache di CentOS 8 / RHEL 8 &CentOS 7 / RHEL 7

  3. Cara Mengatur Let's Encrypt SSL Certificate dengan Nginx di Debian 10 / Debian 9