

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

# Migrasikan Penyedia Penyimpanan Kunci (KSP) Anda dari SDK AWS CloudHSM Klien 3 ke SDK Klien 5
<a name="ksp-migrate-to-sdk-5"></a>

Topik ini menjelaskan cara memigrasikan [Penyedia Penyimpanan Kunci (KSP)](ksp-library.md) Anda dari SDK AWS CloudHSM Klien 3 ke SDK Klien 5. Versi terbaru AWS CloudHSM Client SDK adalah 5.16. Untuk informasi tentang manfaat migrasi, lihat[Manfaat SDK AWS CloudHSM Klien 5](client-sdk-5-benefits.md).

Di AWS CloudHSM, Anda menggunakan AWS CloudHSM Client Software Development Kit (SDK) untuk melakukan operasi kriptografi. Client SDK 5 adalah SDK utama yang menerima fitur baru dan pembaruan dukungan platform.

Untuk petunjuk migrasi untuk semua penyedia, lihat[Migrasi dari SDK AWS CloudHSM Klien 3 ke SDK Klien 5](client-sdk-migration.md).

## Migrasi ke SDK Klien 5
<a name="ksp-migrate-steps"></a>

1. Hentikan Daemon Klien untuk SDK Klien 3.

   ```
   PS C:\> Stop-Service "AWS CloudHSM Client"
   ```

1. Instal Client SDK 5 Key Storage Provider (KSP) pada instance Windows Server Anda. Untuk petunjuk, lihat [Instal penyedia penyimpanan kunci (KSP) untuk AWS CloudHSM Client SDK 5](ksp-library-install.md).

1. Konfigurasikan Client SDK 5 Key Storage Provider (KSP) Anda menggunakan format file konfigurasi baru dan alat bootstrap baris perintah. Untuk petunjuk, lihat [Bootstrap Klien SDK](cluster-connect.md#connect-how-to).

1. Penyedia Penyimpanan Kunci (KSP) untuk AWS CloudHSM Klien SDK 5 menyertakan mode SDK3 kompatibilitas untuk mendukung file referensi utama yang dihasilkan di. SDK3 Untuk informasi selengkapnya, lihat [SDK3 mode kompatibilitas untuk Penyedia Penyimpanan Kunci (KSP) untuk AWS CloudHSM](ksp-library-configs-sdk3-compatibility-mode.md).
**catatan**  
Anda harus mengaktifkan mode SDK3 kompatibilitas saat menggunakan Client SDK 3 yang dihasilkan file referensi kunci dengan Client SDK 5.

## Migrasi ke instance Windows Server baru
<a name="ksp-migrate-new-windows"></a>

1. Selesaikan semua langkah di [Migrate to Client SDK 5](#ksp-migrate-steps) pada instance Windows Server baru Anda.

1. 

**Periksa file referensi kunci yang ada**  
Pada instance Windows Server asli Anda, periksa file referensi kunci di`C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.
   + Jika file referensi kunci ada, salin semua konten di bawah `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP` termasuk `GlobalPartition` ke jalur direktori yang sama pada instance Windows Server baru Anda. Buat direktori jika tidak ada.
   + Jika file referensi kunci tidak ada, gunakan `cloudhsm-cli key generate-file --encoding ksp-key-reference` pada instance Windows Server baru Anda untuk membuatnya. Untuk petunjuk, lihat [Menghasilkan referensi kunci KSP (Windows)](cloudhsm_cli-key-generate-file.md#key-generate-ksp-key-reference).

1. 

**Verifikasi sertifikat root**  
Periksa sertifikat root Anda di otoritas sertifikasi root tepercaya:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store Root
   
   Root "Trusted Root Certification Authorities"
   ================ Certificate 0 ================
   Serial Number: {{certificate-serial-number}}
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
    Issuer: CN=MYRootCA
   Signature matches Public Key
   Root Certificate: Subject matches Issuer
   Cert Hash(sha1): {{cert-hash}}
   No key provider information
   Cannot find the certificate and private key for decryption.
   CertUtil: -store command completed successfully.
   ```
**catatan**  
Perhatikan nomor seri sertifikat untuk digunakan pada langkah berikutnya.

1. 

**Ekspor sertifikat root**  
Ekspor sertifikat root ke file:

   ```
   certutil -store Root {{certificate-serial-number}} {{root-certificate-name}}.cer
   ```

1. 

**Verifikasi sertifikat HSM-backend**  
Periksa sertifikat HSM-backend Anda di toko sertifikat Pribadi:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store My
   
   my "Personal"
   ================ Certificate 0 ================
   Serial Number: {{certificate-serial-number}}
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
   Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US
   Non-root Certificate
   Cert Hash(sha1): {{cert-hash}}
     Key Container = {{key-container-name}}
     Provider = Cavium Key Storage Provider
   Private key is NOT exportable
   Encryption test passed
   CertUtil: -store command completed successfully.
   ```
**catatan**  
Perhatikan nomor seri sertifikat untuk digunakan pada langkah berikutnya.

1. 

**Ekspor sertifikat HSM-backend**  
Ekspor sertifikat HSM-backend ke file:

   ```
   certutil -store My {{certificate-serial-number}} {{signed-certificate-name}}.cer
   ```

1. 

**Impor sertifikat root**  
Pada instance Windows baru Anda:

   1. Salin file CA root ke instance Windows baru Anda

   1. Impor sertifikat:

      ```
      certutil -addstore Root {{root-certificate-name}}.cer
      ```

1. 

**Verifikasi instalasi sertifikat root**  
Konfirmasikan sertifikat root diinstal dengan benar:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store Root
   
   Root "Trusted Root Certification Authorities"
   ================ Certificate 0 ================
   Serial Number: {{certificate-serial-number}}
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
    Issuer: CN=MYRootCA
   Signature matches Public Key
   Root Certificate: Subject matches Issuer
   Cert Hash(sha1): {{cert-hash}}
   No key provider information
   Cannot find the certificate and private key for decryption.
   CertUtil: -store command completed successfully.
   ```

1. 

**Impor sertifikat HSM-backend**  
Pada instance Windows baru Anda:

   1. Salin sertifikat HSM-backend ke instance Windows baru Anda

   1. Impor sertifikat:

      ```
      certutil -addstore My {{signed-certificate-name}}.cer
      ```

1. 

**Verifikasi instalasi sertifikat HSM-backend**  
Konfirmasikan sertifikat HSM-backend diinstal dengan benar:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store My
   
   my "Personal"
   ================ Certificate 0 ================
   Serial Number: {{certificate-serial-number}}
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
   Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US
   Non-root Certificate
   Cert Hash(sha1): {{cert-hash}}
   No key provider information
   Cannot find the certificate and private key for decryption.
   CertUtil: -store command completed successfully.
   ```
**catatan**  
Perhatikan nomor seri sertifikat untuk digunakan pada langkah selanjutnya.

1. 

**Buat file referensi kunci (opsional)**  
Selesaikan langkah ini hanya jika Anda perlu membuat file referensi kunci baru. Jika tidak, lanjutkan ke langkah berikutnya.
**catatan**  
Fitur ini hanya ada di SDK versi 5.16.0 dan yang lebih baru.

   1. Instal [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html) dan ekstrak modulus:

      ```
      openssl x509 -in {{signed-certificate-name}}.cer -modulus -noout
      ```
**catatan**  
Perintah OpenSSL menampilkan modulus dalam format:. `Modulus={{modulus-value}}` Perhatikan {{modulus-value}} untuk digunakan dalam perintah berikutnya.

   1. Buat file referensi kunci dengan CloudHSM CLI, lihat: [Menghasilkan referensi kunci KSP (Windows)](cloudhsm_cli-key-generate-file.md#key-generate-ksp-key-reference)

      ```
      & "C:\Program Files\Amazon\CloudHSM\bin\cloudhsm-cli.exe" key generate-file --encoding ksp-key-reference --filter attr.class=private-key attr.modulus=0x{{modulus-value}}
      ```
**catatan**  
Argumen perintah {{modulus-value}} in CloudHSM CLI harus `0x` diawali dengan untuk menunjukkan format heksadesimal.  
File referensi utama dibuat di`C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`.

1. 

**Buat konfigurasi perbaikan**  
Buat file bernama `repair.txt` dengan konten berikut:

   ```
   [Properties]
   11 = "" ; Add friendly name property
   2 = "{text}" ; Add Key Provider Information property
   _continue_="Container={{key-container-name}}&"
   _continue_="Provider=Cavium Key Storage Provider&"
   _continue_="Flags=0&"
   _continue_="KeySpec=2"
   ```
**catatan**  
Ganti {{key-container-name}} dengan nama file referensi kunci dari. `C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP\GlobalPartition`

1. 

**Toko sertifikat perbaikan**  
Jalankan perintah perbaikan:

   ```
   certutil -repairstore My {{certificate-serial-number}} repair.txt
   ```
**catatan**  
Nomor seri sertifikat diperoleh dari langkah-langkah sebelumnya saat memverifikasi instalasi sertifikat HSM-backend.

1. 

**Verifikasi asosiasi sertifikat**  
Konfirmasikan sertifikat terkait dengan benar:

   ```
   PS C:\Users\Administrator\Desktop> certutil -store My
   
   my "Personal"
   ================ Certificate 0 ================
   Serial Number: {{certificate-serial-number}}
   Issuer: CN=MYRootCA
    NotBefore: 2/5/2020 1:38 PM
    NotAfter: 2/5/2021 1:48 PM
   Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US
   Non-root Certificate
   Cert Hash(sha1): {{cert-hash}}
     Key Container = {{key-container-name}}
     Provider = Cavium Key Storage Provider
   Private key is NOT exportable
   ERROR: Could not verify certificate public key against private key
   CertUtil: -store command completed successfully.
   ```

   Verifikasi output menunjukkan:
   + Nama kontainer kunci yang benar
   + Penyedia Penyimpanan Kunci Cavium
   + `ERROR: Could not verify certificate public key against private key`Ini adalah masalah yang diketahui, lihat [Masalah: Verifikasi penyimpanan sertifikat gagal](ki-ksp-sdk.md#ki-ksp-1)

1. 

**Uji aplikasi Anda**  
Sebelum menyelesaikan migrasi:

   1. Uji aplikasi Anda di lingkungan pengembangan Anda

   1. Perbarui kode Anda untuk menyelesaikan setiap perubahan yang melanggar

   1. Untuk panduan khusus aplikasi, lihat [Mengintegrasikan aplikasi pihak ketiga dengan AWS CloudHSM](third-party-applications.md)

## Verifikasi migrasi
<a name="ksp-migrate-verification"></a>

Setelah menyelesaikan langkah-langkah migrasi, verifikasi bahwa:
+ Sertifikat Anda dipasang dengan benar di toko sertifikat yang benar
+ File referensi utama hadir di lokasi yang benar
+ Aplikasi Anda dapat melakukan operasi kriptografi menggunakan sertifikat yang dimigrasi

## Pemecahan masalah
<a name="ksp-migrate-troubleshooting"></a>

Jika Anda mengalami masalah selama migrasi, verifikasi:
+ Semua sertifikat diekspor dengan benar dari sistem sumber
+ Nomor seri sertifikat cocok antar sistem
+ Nama kontainer kunci dalam file repair.txt cocok dengan file referensi kunci Anda
+ SDK3 mode kompatibilitas diaktifkan jika menggunakan file referensi kunci SDK3 yang dihasilkan

## Topik terkait
<a name="ksp-migrate-to-sdk-5-seealso"></a>
+ [Praktik terbaik untuk AWS CloudHSM](best-practices.md)