View a markdown version of this page

Mengelola sertifikat server di IAM - AWS Identity and Access Management

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

Mengelola sertifikat server di IAM

Untuk mengaktifkan koneksi HTTPS ke situs web atau aplikasi Anda AWS, Anda memerlukan sertifikat SSL/TLS server. Untuk sertifikat di Wilayah yang didukung oleh AWS Certificate Manager (ACM), sebaiknya gunakan 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 di. Referensi Umum AWS

penting

ACM adalah alat pilihan untuk menyediakan, mengelola, dan menerapkan sertifikat server Anda. Dengan ACM Anda dapat meminta sertifikat atau menerapkan ACM atau sertifikat eksternal yang ada ke AWS sumber daya. Sertifikat yang disediakan oleh ACM gratis dan diperbarui secara otomatis. Di Wilayah yang Didukung, Anda dapat menggunakan ACM untuk mengelola sertifikat server dari konsol atau terprogram. Untuk informasi selengkapnya tentang menggunakan ACM, lihat Panduan AWS Certificate Manager Pengguna. Untuk informasi selengkapnya tentang meminta sertifikat ACM, lihat Mem inta Sertifikat Publik atau Meminta Sertifikat Pri badi di Panduan AWS Certificate Manager Pengguna. Untuk informasi tentang mengimpor sertifikat pihak ke tiga ke ACM, lihat Mengimpor Sertifikat 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. 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 dengan. 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.

Unggah sertifikat server (AWS API)

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.

  • Sertifikat, kunci pribadi, dan rantai sertifikat semuanya harus ada PEM-encoded. Untuk membantu mengonversi item ini ke format PEM, lihat Memecahkan masalah sertifikat server.

Untuk menggunakan API IAM untuk mengunggah sertifikat, kirim permintaan UploadServerCertificate. Contoh berikut ini menunjukkan cara melakukan dengan AWS Command Line Interface (AWS CLI). Contoh tersebut mengasumsikan sebagai berikut:

  • PEM-encoded Sertifikat disimpan dalam file bernamaCertificate.pem.

  • Ran PEM-encoded tai-rantai sertifikat disimpan dalam file bernamaCertificateChain.pem.

  • K PEM-encoded unci pribadi yang tidak dienkripsi disimpan dalam file bernamaPrivateKey.pem.

  • (Opsional) Anda ingin menandai sertifikat server dengan pasangan kunci-nilai. Misalnya, Anda dapat menambahkan tombol tanda Department dan nilai tandaEngineering 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 ExampleKey dan ExampleValue tag pasangan kunci-nilai 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), 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 AWS Tools for Windows PowerShell untuk mengunggah sertifikat, gunakan Publish-IAMServerCertificate.

AWS Operasi API untuk sertifikat server

Gunakan perintah berikut untuk melihat, menandai, mengganti nama, dan menghapus sertifikat server.

  • Gunakan GetServerCertificate untuk mengambil sertifikat. Permintaan ini mengembalikan sertifikat, rantai sertifikat (jika diunggah), dan metadata tentang sertifikat.

    catatan

    Anda tidak dapat mengunduh atau mengambil kunci pribadi dari IAM setelah Anda mengunggahnya.

  • Gunakan Get-IAMServerCertificate untuk mengambil sertifikat.

  • Gunakan ListServerCertificates untuk mencantumkan sertifikat server yang Anda unggah. Permintaan mengembalikan daftar yang berisi metadata tentang setiap sertifikat.

  • Gunakan Get-IAMServerCertificates untuk mencantumkan sertifikat server yang Anda unggah.

  • Gunakan TagServerCertificate untuk menandai sertifikat server yang ada.

  • Gunakan UntagServerCertificate untuk menghapus tag sertifikat server.

  • Gunakan UpdateServerCertificate 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-IAMServerCertificate.

  • Gunakan DeleteServerCertificate untuk menghapus sertifikat server.

    Untuk menggunakan AWS Tools for Windows PowerShell untuk menghapus sertifikat server, gunakan Remove-IAMServerCertificate.

Memecahkan masalah sertifikat server

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

contoh Contoh PEM-encoded sertifikat
-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----
contoh Contoh PEM-encoded, kunci pribadi yang tidak dienkripsi
-----BEGIN RSA PRIVATE KEY----- Base64-encoded private key -----END RSA PRIVATE KEY-----
contoh Contoh rantai PEM-encoded sertifikat

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 untuk mengonversinya ke format yang tepat.

Untuk mengonversikan sertifikat atau rantai sertifikat dari DER ke PEM

Gunakan perintah OpenSSL x509, seperti pada contoh berikut. Dalam contoh perintah berikut, ganti Certificate.der dengan nama file yang berisi DER-encoded sertifikat Anda. Ganti Certificate.pem dengan nama file output yang disukai untuk berisi PEM-encoded sertifikat.

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

 

Untuk mengonversi kunci pribadi dari DER ke PEM

Gunakan perintah OpenSSL rsa, seperti pada contoh berikut. Dalam contoh perintah berikut, ganti PrivateKey.der dengan nama file yang berisi kunci DER-encoded pribadi Anda. Ganti PrivateKey.pem dengan nama pilihan file output untuk berisi kunci PEM-encoded pribadi.

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, 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 berisi kunci pribadi yang PEM-encoded tidak dienkripsi.

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

 

Untuk mengonversi bundel sertifikat dari PKCS#12 (PFX) ke PEM

Gunakan perintah OpenSSL pkcs12, seperti pada contoh berikut. Di perintah contoh berikut, ganti CertificateBundle.p12 dengan nama file yang berisi bundel sertifikat yang dienkode PKCS#12 Anda. Ganti CertificateBundle.pem dengan nama file output yang disukai untuk berisi bundel PEM-encoded sertifikat.

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

 

Untuk mengonversi bundel sertifikat dari PKCS#7 ke PEM

Gunakan perintah OpenSSL pkcs7, seperti pada contoh berikut. Di perintah contoh berikut, ganti CertificateBundle.p7b dengan nama file yang berisi bundel sertifikat yang dienkode PKCS#7 Anda. Ganti CertificateBundle.pem dengan nama file output yang disukai untuk berisi bundel PEM-encoded sertifikat.

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