

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Buat dan tandatangani sertifikat X509
<a name="configuring-https-ssl"></a>

Anda dapat membuat sertifikat X509 untuk aplikasi Anda dengan `OpenSSL`. OpenSSL adalah perpustakaan sumber terbuka standar yang mendukung berbagai fungsi kriptografi, termasuk pembuatan dan penandatanganan sertifikat x509. Untuk informasi selengkapnya tentang OpenSSL, kunjungi [www.openssl.org](https://www.openssl.org/).

**catatan**  
Anda hanya perlu membuat sertifikat secara lokal jika Anda ingin [menggunakan HTTPS dalam lingkungan instans tunggal](https-singleinstance.md) atau [mengenkripsi ulang pada backend](configuring-https-endtoend.md) dengan sertifikat yang ditandatangani sendiri. Jika Anda memiliki nama domain, Anda dapat membuat sertifikat AWS dan menggunakannya dengan lingkungan load-balanced secara gratis dengan menggunakan AWS Certificate Manager (ACM). Lihat [Meminta Sertifikat](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html) di *Panduan Pengguna AWS Certificate Manager * untuk petunjuk.

Jalankan `openssl version` pada baris perintah untuk melihat apakah Anda sudah memasang OpenSSL. Jika tidak, Anda dapat membangun dan menginstal kode sumber menggunakan instruksi di [ GitHub repositori publik](https://github.com/openssl/openssl), atau menggunakan manajer paket favorit Anda. [OpenSSL juga diinstal pada gambar Linux Elastic Beanstalk, jadi alternatif cepat adalah terhubung ke EC2 instance di lingkungan berjalan dengan menggunakan perintah EB CLI:](eb-cli3.md) **eb ssh**

```
~/eb$ eb ssh
[ec2-user@ip-255-55-55-255 ~]$ openssl version
OpenSSL 1.0.1k-fips 8 Jan 2015
```

Anda perlu membuat kunci pribadi RSA untuk membuat permintaan penandatanganan sertifikat (CSR). Untuk membuat kunci pribadi Anda, gunakan perintah **openssl genrsa**:

```
[ec2-user@ip-255-55-55-255 ~]$ openssl genrsa 2048 > privatekey.pem
Generating RSA private key, 2048 bit long modulus
.................................................................................................................................+++
...............+++
e is 65537 (0x10001)
```

*privatekey.pem*  
Nama file tempat Anda ingin menyimpan kunci pribadi. Biasanya, perintah **openssl genrsa** mencetak konten kunci pribadi ke layar, tetapi perintah ini menyalurkan output ke file. Pilih nama file apa pun, dan simpan file di tempat yang aman sehingga Anda dapat mengambilnya nanti. Jika Anda kehilangan kunci pribadi, Anda tidak akan dapat menggunakan sertifikat Anda.

CSR adalah file yang Anda kirim ke otoritas sertifikat (CA) untuk mengajukan sertifikat server digital. Untuk membuat CSR, gunakan perintah **openssl req**:

```
$ openssl req -new -key privatekey.pem -out csr.pem
You are about to be asked to enter information that will be incorporated 
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
```

Masukkan informasi yang diminta dan tekan **Masukkan**. Tabel berikut menjelaskan dan menunjukkan contoh untuk setiap bidang.


****  

| Nama | Deskripsi | Contoh | 
| --- | --- | --- | 
| Nama Negara | Singkatan ISO dua huruf untuk negara Anda. | AS = Amerika Serikat | 
| Negara Bagian atau Provinsi | Nama negara bagian atau provinsi tempat organisasi Anda berada. Anda tidak dapat menyingkat nama ini. | Washington | 
| Nama Lokal | Nama kota tempat organisasi Anda berada. | Seattle | 
| Nama Organisasi | Nama lengkap legal organisasi Anda. Jangan menyingkat nama organisasi Anda. | Contoh Perusahaan | 
| Unit Organisasi | Opsional, untuk informasi organisasi tambahan. | Pemasaran | 
| Nama Umum | Nama domain yang memenuhi syarat untuk situs web Anda. Ini harus sesuai dengan nama domain yang pengguna lihat ketika mereka mengunjungi situs Anda, jika tidak, kesalahan sertifikat akan ditampilkan. | www.example.com | 
| Alamat email | Alamat email administrator situs. | someone@example.com | 

Anda dapat mengirimkan permintaan penandatanganan ke pihak ketiga untuk ditandatangani, atau menandatanganinya sendiri untuk pengembangan dan pengujian. Sertifikat yang ditandatangani sendiri juga dapat digunakan untuk HTTPS backend antara penyeimbang beban dan instance. EC2 

Untuk menandatangani sertifikat, gunakan perintah **openssl x509**. Contoh berikut menggunakan kunci pribadi dari langkah sebelumnya (*privatekey.pem*) dan permintaan penandatanganan (*csr.pem*) untuk membuat sertifikat publik bernama *public.crt* yang valid selama *365* berhari-hari.

```
$ openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out public.crt
Signature ok
subject=/C=us/ST=washington/L=seattle/O=example corporation/OU=marketing/CN=www.example.com/emailAddress=someone@example.com
Getting Private key
```

Simpan kunci pribadi dan sertifikat publik untuk digunakan nanti. Anda dapat membuang permintaan penandatanganan. Selalu [simpan kunci pribadi di lokasi yang aman](https-storingprivatekeys.md) dan hindari menambahkannya ke kode sumber Anda.

Untuk menggunakan sertifikat dengan platform Windows Server, Anda harus mengubahnya ke format PFX. Gunakan perintah berikut untuk membuat sertifikat PFX dari file sertifikat pribadi dan publik:

```
$ openssl pkcs12 -export -out example.com.pfx -inkey privatekey.pem -in public.crt
Enter Export Password: password
Verifying - Enter Export Password: password
```

Setelah Anda memiliki sertifikat, Anda dapat [mengunggahnya ke IAM](configuring-https-ssl-upload.md) untuk digunakan dengan penyeimbang beban, atau [mengonfigurasi instans di lingkungan Anda untuk mengakhiri HTTPS](https-singleinstance.md).