

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

# Gunakan Microsoft SignTool AWS CloudHSM untuk menandatangani file
<a name="third-signtool-toplevel"></a>

AWS CloudHSM menawarkan dukungan untuk menggunakan Microsoft Signtool untuk menandatangani file melalui Client SDK 3 dan Client SDK 5. Langkah-langkah untuk menggunakan alat ini akan bervariasi tergantung pada versi SDK klien yang saat ini telah Anda unduh. Bagian berikut memberikan informasi untuk setiap SDK. 

**Topics**
+ [Klien SDK 5 dengan Microsoft SignTool](signtool-sdk5.md)
+ [Klien SDK 3 dengan Microsoft SignTool](signtool-sdk3.md)

# Gunakan Microsoft SignTool dengan Client SDK 5 untuk menandatangani file
<a name="signtool-sdk5"></a>

Dalam kriptografi dan infrastruktur kunci publik (PKI), tanda tangan digital digunakan untuk mengonfirmasi bahwa data telah dikirim oleh entitas tepercaya. Tanda tangan juga menunjukkan bahwa data belum dirusak saat transit. Tanda tangan adalah hash terenkripsi yang dihasilkan dengan kunci privat pengirim. Penerima dapat memverifikasi integritas data dengan mendekripsi tanda tangan hash dengan kunci publik pengirim. Pada gilirannya, itu adalah tanggung jawab pengirim untuk mempertahankan sertifikat digital. Sertifikat digital menunjukkan kepemilikan pengirim kunci privat dan menyediakan penerima dengan kunci publik yang diperlukan untuk dekripsi. Selama kunci pribadi dimiliki oleh pengirim, tanda tangan dapat dipercaya. AWS CloudHSM menyediakan perangkat keras tervalidasi FIPS 140-2 level 3 yang aman bagi Anda untuk mengamankan kunci ini dengan akses penyewa tunggal eksklusif.

Banyak organisasi menggunakan Microsoft SignTool, alat baris perintah yang menandatangani, memverifikasi, dan stempel waktu file untuk menyederhanakan proses penandatanganan kode. Anda dapat menggunakan AWS CloudHSM untuk menyimpan pasangan kunci Anda dengan aman hingga dibutuhkan SignTool, sehingga menciptakan alur kerja yang mudah diotomatisasi untuk menandatangani data.

Topik berikut memberikan ikhtisar tentang cara menggunakannya SignTool AWS CloudHSM.

**Topics**
+ [Langkah 1: Siapkan prasyarat](#signtool-sdk5-prereqs)
+ [Langkah 2: Buat sertifikat penandatanganan](#signtool-sdk5-csr)
+ [Langkah 3: Tanda tangani file](#signtool-sdk5-sign)

## Langkah 1: Siapkan prasyarat
<a name="signtool-sdk5-prereqs"></a>

Untuk menggunakan Microsoft SignTool dengan AWS CloudHSM, Anda memerlukan yang berikut ini:
+ Instans klien Amazon EC2 yang menjalankan sistem operasi Windows.
+ Otoritas sertifikat (CA), dikelola sendiri atau didirikan oleh penyedia pihak ketiga.
+  AWS CloudHSM Cluster aktif di cloud publik virtual (VPC) yang sama dengan instans EC2 Anda. Klaster harus berisi setidaknya satu HSM.
+ Pengguna crypto (CU) untuk memiliki dan mengelola kunci di AWS CloudHSM cluster.
+ File tanpa tanda tangan atau dapat dijalankan.
+ Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows.

**Untuk mengatur prasyarat untuk digunakan dengan Windows AWS CloudHSM SignTool**

1. Ikuti instruksi di bagian [Memulai](getting-started.md) dari panduan ini untuk meluncurkan instans EC2 Windows dan klaster AWS CloudHSM .

1. Jika Anda ingin meng-host Windows Server CA Anda sendiri, ikuti langkah 1 dan 2 dalam [Mengkonfigurasi Windows Server sebagai Otoritas Sertifikat dengan AWS CloudHSM](win-ca-overview-sdk5.md). Jika tidak, terus gunakan CA pihak ketiga tepercaya publik Anda.

1. Unduh dan instal salah satu versi SDK Microsoft Windows berikut pada instans EC2 Windows Anda:
   + [Microsoft Windows SDK 10](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)
   + [Microsoft Windows SDK 8.1](https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk)
   + [Microsoft Windows SDK 7](https://www.microsoft.com/en-us/download/details.aspx?id=8279)

   `SignTool` yang dapat dijalankan adalah bagian dari Alat Tanda Tangan SDK Windows untuk fitur instalasi Aplikasi Desktop. Anda dapat menghilangkan fitur lain yang akan diinstal jika Anda tidak membutuhkannya. Lokasi instalasi default adalah:

   ```
   C:\Program Files (x86)\Windows Kits\<SDK version>\bin\<version number>\<CPU architecture>\signtool.exe
   ```

Sekarang Anda dapat menggunakan Microsoft Windows SDK, AWS CloudHSM klaster, dan CA Anda untuk [Membuat Sertifikat Penandatanganan](#signtool-sdk5-csr).

## Langkah 2: Buat sertifikat penandatanganan
<a name="signtool-sdk5-csr"></a>

Sekarang karena Anda telah mengunduh SDK Windows ke instans EC2 Anda, Anda dapat menggunakannya untuk menghasilkan permintaan penandatanganan sertifikat (CSR). CSR adalah sertifikat tanpa tanda tangan yang akhirnya diteruskan ke CA Anda untuk ditandatangani. Dalam contoh ini, kami menggunakan `certreq` yang dapat dijalankan yang disertakan dengan SDK Windows untuk menghasilkan CSR.

**Untuk menghasilkan CSR menggunakan `certreq` yang dapat dijalankan**

1. Jika Anda belum melakukannya, sambungkan ke instans EC2 Windows Anda. Untuk informasi selengkapnya, lihat [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) di *Panduan Pengguna Amazon EC2*.

1. Buat file bernama `request.inf` yang berisi baris di bawah ini. Ganti informasi `Subject` dinformasi engan organisasi Anda. Untuk penjelasan tentang setiap parameter, lihat [Dokumentasi Microsoft](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New).

   ```
   [Version]
   Signature= $Windows NT$
   [NewRequest]
   Subject = "C=<Country>,CN=<www.website.com>,O=<Organization>,OU=<Organizational-Unit>,L=<City>,S=<State>"
   RequestType=PKCS10
   HashAlgorithm = SHA256
   KeyAlgorithm = RSA
   KeyLength = 2048
   ProviderName = "CloudHSM Key Storage Provider"
   KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE"
   MachineKeySet = True
   Exportable = False
   ```

1. Jalankan `certreq.exe`. Untuk contoh ini, kami menyimpan CSR sebagai `request.csr`.

   ```
   certreq.exe -new request.inf request.csr
   ```

   Secara internal, key pair baru dihasilkan di AWS CloudHSM cluster Anda, dan kunci pribadi pasangan digunakan untuk membuat CSR.

1. Kirimkan CSR ke CA Anda. Jika Anda menggunakan CA Windows Server, ikuti langkah-langkah berikut:

   1. Masukkan perintah berikut untuk menjalankan alat .

      ```
      certsrv.msc
      ```

   1. Di jendela baru, klik kanan nama server CA. Pilih **Semua Tugas**, lalu pilih **Kirim permintaan baru**.

   1. Arahkan ke `request.csr` dan pilih **Buka**.

   1. Arahkan ke folder **Permintaan menunggu keputusan** dengan memperluas menu **CA Server**. Klik kanan permintaan yang baru Anda buat, dan di bawah **Semua Tugas** pilih **Terbitkan**.

   1. Sekarang arahkan ke folder **Sertifikat Diterbitkan** (di atas folder **Permintaan menunggu keputusan**).

   1. Pilih **Buka** untuk melihat sertifikat, dan kemudian memilih tab **Detail**.

   1. Pilih **Salin ke File** untuk memulai Wizard Ekspor Sertifikat. Simpan file Der-encoded X.509 ke lokasi aman sebagai `signedCertificate.cer`.

   1. Keluar dari alat CA dan gunakan perintah berikut, yang memindahkan file sertifikat ke Penyimpanan Sertifikat Pribadi di Windows. Ini kemudian dapat digunakan oleh aplikasi lain.

      ```
      certreq.exe -accept signedCertificate.cer
      ```

Sekarang Anda dapat menggunakan sertifikat yang diimpor untuk [Tanda tangani File](#signtool-sdk5-sign).

## Langkah 3: Tanda tangani file
<a name="signtool-sdk5-sign"></a>

Anda sekarang siap untuk menggunakan SignTool dan sertifikat impor Anda untuk menandatangani file contoh Anda. Untuk melakukannya, Anda perlu mengetahui SHA-1 hash atau *cap jempol*. Sidik jari digunakan untuk memastikan bahwa SignTool hanya menggunakan sertifikat yang diverifikasi oleh. AWS CloudHSM Dalam contoh ini, kita gunakan PowerShell untuk mendapatkan hash sertifikat. Anda juga dapat menggunakan GUI CA atau `certutil` SDK Windows yang dapat dieksekusi. 

**Untuk mendapatkan cap jempol sertifikat dan menggunakannya untuk menandatangani file**

1. Buka PowerShell sebagai administrator dan jalankan perintah berikut:

   ```
   Get-ChildItem -path cert:\LocalMachine\My
   ```

   Salin `Thumbprint` yang dikembalikan.  
![\[Hash sertifikat dikembalikan sebagai cap jempol\]](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/images/signtool-hash.png)

1. Arahkan ke direktori di dalamnya PowerShell berisi`SignTool.exe`. Lokasi default adalah `C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64`.

1. Terakhir, tanda tangani file Anda dengan menjalankan perintah berikut. Jika perintah berhasil, PowerShell mengembalikan pesan sukses.

   ```
   signtool.exe sign /v /fd sha256 /sha1 <thumbprint> /sm C:\Users\Administrator\Desktop\<test>.ps1
   ```  
![\[File .ps1 berhasil ditandatangani.\]](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/images/signtool-last-command.png)

1. (Opsional) Untuk memverifikasi tanda tangan pada file, gunakan perintah berikut:

   ```
   signtool.exe verify /v /pa C:\Users\Administrator\Desktop\<test>.ps1
   ```

# Gunakan Microsoft SignTool dengan Client SDK 3 untuk menandatangani file
<a name="signtool-sdk3"></a>

Dalam kriptografi dan infrastruktur kunci publik (PKI), tanda tangan digital digunakan untuk mengonfirmasi bahwa data telah dikirim oleh entitas tepercaya. Tanda tangan juga menunjukkan bahwa data belum dirusak saat transit. Tanda tangan adalah hash terenkripsi yang dihasilkan dengan kunci privat pengirim. Penerima dapat memverifikasi integritas data dengan mendekripsi tanda tangan hash dengan kunci publik pengirim. Pada gilirannya, itu adalah tanggung jawab pengirim untuk mempertahankan sertifikat digital. Sertifikat digital menunjukkan kepemilikan pengirim kunci privat dan menyediakan penerima dengan kunci publik yang diperlukan untuk dekripsi. Selama kunci pribadi dimiliki oleh pengirim, tanda tangan dapat dipercaya. AWS CloudHSM menyediakan perangkat keras tervalidasi FIPS 140-2 level 3 yang aman bagi Anda untuk mengamankan kunci ini dengan akses penyewa tunggal eksklusif.

Banyak organisasi menggunakan Microsoft SignTool, alat baris perintah yang menandatangani, memverifikasi, dan stempel waktu file untuk menyederhanakan proses penandatanganan kode. Anda dapat menggunakan AWS CloudHSM untuk menyimpan pasangan kunci Anda dengan aman hingga dibutuhkan SignTool, sehingga menciptakan alur kerja yang mudah diotomatisasi untuk menandatangani data.

Topik berikut memberikan ikhtisar tentang cara menggunakannya SignTool AWS CloudHSM.

**Topics**
+ [Langkah 1: Siapkan prasyarat](#signtool-sdk3-prereqs)
+ [Langkah 2: Buat sertifikat penandatanganan](#signtool-sdk3-csr)
+ [Langkah 3: Tanda tangani file](#signtool-sdk3-sign)

## Langkah 1: Siapkan prasyarat
<a name="signtool-sdk3-prereqs"></a>

Untuk menggunakan Microsoft SignTool dengan AWS CloudHSM, Anda memerlukan yang berikut ini:
+ Instans klien Amazon EC2 yang menjalankan sistem operasi Windows.
+ Otoritas sertifikat (CA), dikelola sendiri atau didirikan oleh penyedia pihak ketiga.
+  AWS CloudHSM Cluster aktif di cloud publik virtual (VPC) yang sama dengan instans EC2 Anda. Klaster harus berisi setidaknya satu HSM.
+ Pengguna crypto (CU) untuk memiliki dan mengelola kunci di AWS CloudHSM cluster.
+ File tanpa tanda tangan atau dapat dijalankan.
+ Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows.

**Untuk mengatur prasyarat untuk digunakan dengan Windows AWS CloudHSM SignTool**

1. Ikuti instruksi di bagian [Memulai](getting-started.md) dari panduan ini untuk meluncurkan instans EC2 Windows dan klaster AWS CloudHSM .

1. Jika Anda ingin meng-host Windows Server CA Anda sendiri, ikuti langkah 1 dan 2 dalam [Mengkonfigurasi Windows Server sebagai Otoritas Sertifikat dengan AWS CloudHSM](win-ca-overview-sdk3.md). Jika tidak, terus gunakan CA pihak ketiga tepercaya publik Anda.

1. Unduh dan instal salah satu versi SDK Microsoft Windows berikut pada instans EC2 Windows Anda:
   + [Microsoft Windows SDK 10](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)
   + [Microsoft Windows SDK 8.1](https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk)
   + [Microsoft Windows SDK 7](https://www.microsoft.com/en-us/download/details.aspx?id=8279)

   `SignTool` yang dapat dijalankan adalah bagian dari Alat Tanda Tangan SDK Windows untuk fitur instalasi Aplikasi Desktop. Anda dapat menghilangkan fitur lain yang akan diinstal jika Anda tidak membutuhkannya. Lokasi instalasi default adalah:

   ```
   C:\Program Files (x86)\Windows Kits\<SDK version>\bin\<version number>\<CPU architecture>\signtool.exe
   ```

Sekarang Anda dapat menggunakan Microsoft Windows SDK, AWS CloudHSM klaster, dan CA Anda untuk [Membuat Sertifikat Penandatanganan](#signtool-sdk3-csr).

## Langkah 2: Buat sertifikat penandatanganan
<a name="signtool-sdk3-csr"></a>

Sekarang karena Anda telah mengunduh SDK Windows ke instans EC2 Anda, Anda dapat menggunakannya untuk menghasilkan permintaan penandatanganan sertifikat (CSR). CSR adalah sertifikat tanpa tanda tangan yang akhirnya diteruskan ke CA Anda untuk ditandatangani. Dalam contoh ini, kami menggunakan `certreq` yang dapat dijalankan yang disertakan dengan SDK Windows untuk menghasilkan CSR.

**Untuk menghasilkan CSR menggunakan `certreq` yang dapat dijalankan**

1. Jika Anda belum melakukannya, sambungkan ke instans EC2 Windows Anda. Untuk informasi selengkapnya, lihat [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) di *Panduan Pengguna Amazon EC2*.

1. Buat file bernama `request.inf` yang berisi baris di bawah ini. Ganti informasi `Subject` dinformasi engan organisasi Anda. Untuk penjelasan tentang setiap parameter, lihat [Dokumentasi Microsoft](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New).

   ```
   [Version]
   Signature= $Windows NT$
   [NewRequest]
   Subject = "C=<Country>,CN=<www.website.com>,O=<Organization>,OU=<Organizational-Unit>,L=<City>,S=<State>"
   RequestType=PKCS10
   HashAlgorithm = SHA256
   KeyAlgorithm = RSA
   KeyLength = 2048
   ProviderName = "Cavium Key Storage Provider"
   KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE"
   MachineKeySet = True
   Exportable = False
   ```

1. Jalankan `certreq.exe`. Untuk contoh ini, kami menyimpan CSR sebagai `request.csr`.

   ```
   certreq.exe -new request.inf request.csr
   ```

   Secara internal, key pair baru dihasilkan di AWS CloudHSM cluster Anda, dan kunci pribadi pasangan digunakan untuk membuat CSR.

1. Kirimkan CSR ke CA Anda. Jika Anda menggunakan CA Windows Server, ikuti langkah-langkah berikut:

   1. Masukkan perintah berikut untuk menjalankan alat .

      ```
      certsrv.msc
      ```

   1. Di jendela baru, klik kanan nama server CA. Pilih **Semua Tugas**, lalu pilih **Kirim permintaan baru**.

   1. Arahkan ke `request.csr` dan pilih **Buka**.

   1. Arahkan ke folder **Permintaan menunggu keputusan** dengan memperluas menu **CA Server**. Klik kanan permintaan yang baru Anda buat, dan di bawah **Semua Tugas** pilih **Terbitkan**.

   1. Sekarang arahkan ke folder **Sertifikat Diterbitkan** (di atas folder **Permintaan menunggu keputusan**).

   1. Pilih **Buka** untuk melihat sertifikat, dan kemudian memilih tab **Detail**.

   1. Pilih **Salin ke File** untuk memulai Wizard Ekspor Sertifikat. Simpan file Der-encoded X.509 ke lokasi aman sebagai `signedCertificate.cer`.

   1. Keluar dari alat CA dan gunakan perintah berikut, yang memindahkan file sertifikat ke Penyimpanan Sertifikat Pribadi di Windows. Ini kemudian dapat digunakan oleh aplikasi lain.

      ```
      certreq.exe -accept signedCertificate.cer
      ```

Sekarang Anda dapat menggunakan sertifikat yang diimpor untuk [Tanda tangani File](#signtool-sdk3-sign).

## Langkah 3: Tanda tangani file
<a name="signtool-sdk3-sign"></a>

Anda sekarang siap untuk menggunakan SignTool dan sertifikat impor Anda untuk menandatangani file contoh Anda. Untuk melakukannya, Anda perlu mengetahui SHA-1 hash atau *cap jempol*. Sidik jari digunakan untuk memastikan bahwa SignTool hanya menggunakan sertifikat yang diverifikasi oleh. AWS CloudHSM Dalam contoh ini, kita gunakan PowerShell untuk mendapatkan hash sertifikat. Anda juga dapat menggunakan GUI CA atau `certutil` SDK Windows yang dapat dieksekusi. 

**Untuk mendapatkan cap jempol sertifikat dan menggunakannya untuk menandatangani file**

1. Buka PowerShell sebagai administrator dan jalankan perintah berikut:

   ```
   Get-ChildItem -path cert:\LocalMachine\My
   ```

   Salin `Thumbprint` yang dikembalikan.  
![\[Hash sertifikat dikembalikan sebagai cap jempol\]](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/images/signtool-hash.png)

1. Arahkan ke direktori di dalamnya PowerShell berisi`SignTool.exe`. Lokasi default adalah `C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64`.

1. Terakhir, tanda tangani file Anda dengan menjalankan perintah berikut. Jika perintah berhasil, PowerShell mengembalikan pesan sukses.

   ```
   signtool.exe sign /v /fd sha256 /sha1 <thumbprint> /sm C:\Users\Administrator\Desktop\<test>.ps1
   ```  
![\[File .ps1 berhasil ditandatangani.\]](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/images/signtool-last-command.png)

1. (Opsional) Untuk memverifikasi tanda tangan pada file, gunakan perintah berikut:

   ```
   signtool.exe verify /v /pa C:\Users\Administrator\Desktop\<test>.ps1
   ```