

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

# Kelola sertifikat server di IAM
<a name="id_credentials_server-certs"></a>

*Untuk mengaktifkan koneksi HTTPS ke situs web atau aplikasi Anda AWS, Anda memerlukan sertifikat server SSL/TLS.* Untuk sertifikat di Wilayah yang didukung oleh AWS Certificate Manager (ACM), kami menyarankan Anda menggunakan ACM untuk menyediakan, mengelola, dan menyebarkan sertifikat server Anda. Di Wilayah yang tidak didukung, Anda harus menggunakan IAM sebagai manajer sertifikat. Untuk mempelajari Wilayah mana yang didukung ACM, lihat [AWS Certificate Manager titik akhir dan kuota](https://docs.aws.amazon.com/general/latest/gr/acm.html) di. *Referensi Umum AWS*

**penting**  
ACM adalah alat pilihan untuk menyediakan, mengelola, dan menerapkan sertifikat server Anda. Dengan ACM Anda dapat meminta sertifikat atau menyebarkan ACM atau sertifikat eksternal yang ada ke sumber daya. AWS Sertifikat yang disediakan oleh ACM gratis dan diperbarui secara otomatis. Di [Wilayah yang Didukung](https://docs.aws.amazon.com/general/latest/gr/acm.html), Anda dapat menggunakan ACM untuk mengelola sertifikat server dari konsol atau terprogram. Untuk informasi selengkapnya tentang penggunaan ACM, lihat [https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html). Untuk informasi selengkapnya tentang meminta sertifikat ACM, lihat [Meminta Sertifikat Publik](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) atau [Meminta Sertifikat Pribadi](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) di *AWS Certificate Manager Panduan Pengguna*. Untuk informasi tentang mengimpor sertifikat pihak ke tiga ke ACM, lihat [Mengimpor Sertifikat](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) di *Panduan Pengguna AWS Certificate Manager *.

Gunakan IAM sebagai manajer sertifikat hanya ketika Anda harus mendukung koneksi HTTPS di Wilayah yang tidak [didukung oleh ACM](https://docs.aws.amazon.com/general/latest/gr/acm.html). IAM mengenkripsi kunci pribadi Anda dengan aman dan menyimpan versi terenkripsinya dalam penyimpanan sertifikat IAM SSL. IAM mendukung penerapan sertifikat server di semua Wilayah, tetapi Anda harus mendapatkan sertifikat dari penyedia eksternal untuk digunakan. AWS Anda tidak dapat mengunggah sertifikat ACM ke IAM. Sebagai tambahan, Anda tidak dapat mengelola sertifikat Anda dari Konsol IAM.

Untuk informasi selengkapnya tentang mengunggah sertifikat pihak ketiga ke IAM, lihat topik berikut.

**Topics**
+ [Unggah sertifikat server (AWS API)](#upload-server-certificate)
+ [AWS Operasi API untuk sertifikat server](#id_credentials_server-certs-api)
+ [Memecahkan masalah sertifikat server](#server-certificate-troubleshooting)

## Unggah sertifikat server (AWS API)
<a name="upload-server-certificate"></a>

Untuk mengunggah sertifikat server ke IAM, Anda harus memberikan sertifikat yang sesuai dengan kunci pribadi. Jika sertifikat tidak ditandatangani sendiri, Anda juga harus memberikan rantai sertifikat. (Anda tidak memerlukan rantai sertifikat saat mengunggah sertifikat yang ditandatangani sendiri.) Sebelum Anda mengunggah sertifikat, pastikan bahwa Anda memiliki semua item ini dan bahwa mereka memenuhi kriteria berikut:
+ Sertifikat harus valid pada saat diunggah. Anda tidak dapat mengunggah sertifikat sebelum periode validitas dimulai (tanggal `NotBefore` sertifikat) atau setelah kedaluwarsa (tanggal `NotAfter` sertifikat).
+ Kunci pribadi harus tidak dienkripsi. Anda tidak dapat mengunggah kunci pribadi yang dilindungi oleh kata sandi atau frasa sandi. Untuk membantu mendekripsi kunci pribadi terenkripsi, lihat [Memecahkan masalah sertifikat server](#server-certificate-troubleshooting).
+ Sertifikat, kunci pribadi, dan rantai sertifikat harus semuanya dikode PEM. Untuk membantu mengonversi item ini ke format PEM, lihat [Memecahkan masalah sertifikat server](#server-certificate-troubleshooting).

Untuk menggunakan [API IAM](https://docs.aws.amazon.com/IAM/latest/APIReference/) untuk mengunggah sertifikat, kirim permintaan [UploadServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UploadServerCertificate.html). Contoh berikut ini menunjukkan cara melakukan dengan [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/). Contoh tersebut mengasumsikan sebagai berikut:
+ Sertifikat yang dienkode PEM disimpan dalam file dengan nama `Certificate.pem`.
+ Rantai sertifikat yang dienkode PEM disimpan dalam file dengan nama `CertificateChain.pem`.
+ Sertifikat yang dienkode PEM, kunci pribadi tidak dienkripsi, disimpan dalam file dengan nama `PrivateKey.pem`.
+ (Opsional) Anda ingin menandai sertifikat server dengan pasangan kunci-nilai. Misalnya, Anda dapat menambahkan tombol tanda `Department` dan nilai tanda`Engineering` untuk membantu Anda mengidentifikasi dan mengatur sertifikat Anda.

Untuk menggunakan perintah contoh berikut, ganti nama file berikut dengan nama Anda sendiri. Ganti *ExampleCertificate* dengan nama untuk sertifikat yang Anda unggah. Jika Anda ingin menandai sertifikat, ganti pasangan nilai kunci *ExampleKey* dan *ExampleValue* tag dengan nilai Anda sendiri. Ketik perintah pada satu garis kontinu. Contoh berikut mencakup jeda baris dan ruang tambahan untuk memudahkan Anda membaca.

```
aws iam upload-server-certificate --server-certificate-name ExampleCertificate
                                    --certificate-body file://Certificate.pem
                                    --certificate-chain file://CertificateChain.pem
                                    --private-key file://PrivateKey.pem
                                    --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'
```

Ketika perintah sebelumnya berhasil, perintah mengembalikan metadata tentang sertifikat yang diunggah, termasuk [Amazon Resource Name (ARN)](reference_identifiers.md#identifiers-arns), nama ramah, pengenalnya (ID), tanggal kedaluwarsanya, tanda, dan banyak lagi.

**catatan**  
Jika Anda mengunggah sertifikat server untuk digunakan dengan Amazon CloudFront, Anda harus menentukan jalur menggunakan `--path` opsi. Jalur harus dimulai dengan `/cloudfront` dan harus menyertakan garis miring yang menelusur (misalnya, `/cloudfront/test/`).

Untuk menggunakan untuk AWS Tools for Windows PowerShell mengunggah sertifikat, gunakan [Publish- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Publish-IAMServerCertificate.html&tocid=Publish-IAMServerCertificate).

## AWS Operasi API untuk sertifikat server
<a name="id_credentials_server-certs-api"></a>

Gunakan perintah berikut untuk melihat, menandai, mengganti nama, dan menghapus sertifikat server.
+ Gunakan [GetServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServerCertificate.html)untuk mengambil sertifikat. Permintaan ini mengembalikan sertifikat, rantai sertifikat (jika ada yang diunggah), dan metadata tentang sertifikat.
**catatan**  
Anda tidak dapat mengunduh atau mengambil kunci pribadi dari IAM setelah Anda mengunggahnya.
+ Gunakan [Get- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Get-IAMServerCertificate.html&tocid=Get-IAMServerCertificate) untuk mengambil sertifikat.
+ Gunakan [ListServerCertificates](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServerCertificates.html)untuk mencantumkan sertifikat server yang diunggah. Permintaan mengembalikan daftar yang berisi metadata tentang setiap sertifikat.
+ Gunakan [Get- IAMServer Certificates](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Get-IAMServerCertificates.html&tocid=Get-IAMServerCertificates) untuk mencantumkan sertifikat server yang Anda unggah.
+ Gunakan [TagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagServerCertificate.html)untuk menandai sertifikat server yang ada. 
+ Gunakan [UntagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagServerCertificate.html)untuk menghapus tag sertifikat server.
+ Gunakan [UpdateServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServerCertificate.html)untuk mengganti nama sertifikat server atau memperbarui jalurnya.

   Contoh berikut ini menunjukkan cara melakukan ini dengan AWS CLI.

  Untuk menggunakan perintah contoh berikut, ganti nama sertifikat lama dan baru serta jalur sertifikat, lalu ketik perintah pada satu baris berkelanjutan. Contoh berikut mencakup jeda baris dan ruang tambahan untuk memudahkan Anda membaca.

  ```
  aws iam update-server-certificate --server-certificate-name ExampleCertificate
                                      --new-server-certificate-name CloudFrontCertificate
                                      --new-path /cloudfront/
  ```

  Untuk menggunakan AWS Tools for Windows PowerShell untuk mengganti nama sertifikat server atau memperbarui jalurnya, gunakan [Update- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Update-IAMServerCertificate.html&tocid=Update-IAMServerCertificate).
+ Gunakan [DeleteServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServerCertificate.html)untuk menghapus sertifikat server. 

  Untuk menggunakan AWS Tools for Windows PowerShell untuk menghapus sertifikat server, gunakan [Hapus- IAMServer Sertifikat](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Remove-IAMServerCertificate.html&tocid=Remove-IAMServerCertificate).

## Memecahkan masalah sertifikat server
<a name="server-certificate-troubleshooting"></a>

Sebelum Anda dapat mengunggah sertifikat ke IAM, Anda harus memastikan bahwa sertifikat, kunci pribadi, dan rantai sertifikat semuanya dikode PEM. Anda juga harus memastikan bahwa kunci pribadi tidak terenkripsi. Lihat contoh-contoh berikut.

**Example Contoh sertifikat yang dienkode PEM**  

```
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
```

**Example Contoh kunci pribadi yang dienkode PEM, tidak terenkripsi**  

```
-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----
```

**Example Contoh rantai sertifikat yang dienkode PEM**  
Rantai sertifikat berisi satu atau beberapa sertifikat. Anda dapat menggunakan editor teks, perintah penyalinan di Windows, atau perintah cat Linux untuk menggabungkan file sertifikat Anda ke dalam rantai. Jika Anda menyertakan beberapa sertifikat, setiap sertifikat harus mensertifikasi sertifikat sebelumnya. Anda mencapai ini dengan menggabungkan sertifikat, termasuk sertifikat CA akar terakhir.  
Contoh berikut berisi tiga sertifikat, tetapi rantai sertifikat Anda mungkin memuat lebih banyak atau lebih sedikit sertifikat.  

```
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
```

Jika item ini tidak dalam format yang tepat untuk diunggah ke IAM, Anda dapat menggunakan [OpenSSL](https://openssl.org/) untuk mengonversinya ke format yang tepat.

**Untuk mengonversikan sertifikat atau rantai sertifikat dari DER ke PEM**  
Gunakan [perintah OpenSSL **x509**](https://openssl.org/docs/manmaster/man1/x509.html), seperti pada contoh berikut. Di perintah contoh berikut, ganti `Certificate.der` dengan nama file yang berisi sertifikat yang dienkode DER Anda. Ganti `Certificate.pem` dengan nama pilihan file output untuk memuat sertifikat yang dienkode PEM.  

```
openssl x509 -inform DER -in Certificate.der -outform PEM -out Certificate.pem
```
 

**Untuk mengonversi kunci pribadi dari DER ke PEM**  
Gunakan [perintah OpenSSL **rsa**](https://openssl.org/docs/manmaster/man1/rsa.html), seperti pada contoh berikut. Di perintah contoh berikut, ganti `PrivateKey.der` dengan nama file yang berisi kunci pribadi yang dienkode DER Anda. Ganti `PrivateKey.pem` dengan nama pilihan file output untuk memuat kunci pribadi yang dienkode PEM.  

```
openssl rsa -inform DER -in PrivateKey.der -outform PEM -out PrivateKey.pem
```
 

**Untuk mendekripsi kunci pribadi terenkripsi (hapus kata sandi atau frasa sandi)**  
Gunakan [perintah OpenSSL **rsa**](https://openssl.org/docs/manmaster/man1/rsa.html), seperti pada contoh berikut. Untuk menggunakan perintah contoh berikut, ganti `EncryptedPrivateKey.pem` dengan nama file yang berisi kunci pribadi Anda yang dienkripsi. Ganti `PrivateKey.pem` dengan nama pilihan file output untuk memuat kunci pribadi tidak terenkripsi yang dienkode PEM.  

```
openssl rsa -in EncryptedPrivateKey.pem -out PrivateKey.pem
```
 

**Untuk mengonversi bundel sertifikat dari PKCS\$112 (PFX) ke PEM**  
Gunakan [perintah OpenSSL **pkcs12**](https://openssl.org/docs/manmaster/man1/pkcs12.html), seperti pada contoh berikut. Di perintah contoh berikut, ganti `CertificateBundle.p12` dengan nama file yang berisi bundel sertifikat yang dienkode PKCS\$112 Anda. Ganti `CertificateBundle.pem` dengan nama pilihan file output untuk memuat bundel sertifikat yang dienkode PEM.  

```
openssl pkcs12 -in CertificateBundle.p12 -out CertificateBundle.pem -nodes
```
 

**Untuk mengonversi bundel sertifikat dari PKCS\$17 ke PEM**  
Gunakan [perintah OpenSSL **pkcs7**](https://openssl.org/docs/manmaster/man1/pkcs7.html), seperti pada contoh berikut. Di perintah contoh berikut, ganti `CertificateBundle.p7b` dengan nama file yang berisi bundel sertifikat yang dienkode PKCS\$17 Anda. Ganti `CertificateBundle.pem` dengan nama pilihan file output untuk memuat bundel sertifikat yang dienkode PEM.  

```
openssl pkcs7 -in CertificateBundle.p7b -print_certs -out CertificateBundle.pem
```