

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

# Kustom IVs dengan panjang yang tidak sesuai untuk pembungkus kunci AES AWS CloudHSM
<a name="troubleshooting-aes-keys"></a>

Topik pemecahan masalah ini membantu Anda menentukan apakah aplikasi Anda menghasilkan kunci dibungkus yang tidak dapat dipulihkan. Jika Anda terpengaruh oleh masalah ini, gunakan topik ini untuk mengatasi masalah.

**Topics**
+ [Tentukan apakah kode Anda menghasilkan kunci terbungkus yang tidak dapat dipulihkan](#troubleshooting-problem1)
+ [Tindakan yang harus Anda ambil jika kode Anda menghasilkan kunci terbungkus yang tidak dapat dipulihkan](#troubleshooting-problem2)

## Tentukan apakah kode Anda menghasilkan kunci terbungkus yang tidak dapat dipulihkan
<a name="troubleshooting-problem1"></a>

Anda akan terkena dampak hanya jika Anda bertemu *semua* kondisi di bawah ini:


****  

| Kondisi | Bagaimana saya tahu? | 
| --- | --- | 
| Aplikasi Anda menggunakan pustaka PKCS \#11  | Pustaka PKCS \#11 diinstal sebagai file `libpkcs11.so` di folder `/opt/cloudhsm/lib`. Aplikasi yang ditulis dalam bahasa C umumnya menggunakan pustaka PKCS \#11 secara langsung, sementara aplikasi yang ditulis di Java mungkin menggunakan pustaka secara tidak langsung melalui lapisan abstraksi Java. Jika Anda menggunakan Windows, Anda TIDAK terpengaruh, karena pustaka PKCS \#11 saat ini tidak tersedia untuk Windows. | 
| Aplikasi Anda secara khusus menggunakan versi 3.0.0 dari pustaka PKCS \#11  | Jika Anda menerima email dari AWS CloudHSM tim, kemungkinan besar Anda menggunakan pustaka PKCS \#11 versi 3.0.0. <br />Untuk memeriksa versi perangkat lunak pada instans aplikasi Anda, gunakan perintah ini: <pre>rpm -qa | grep ^cloudhsm</pre> | 
| Anda membungkus kunci menggunakan pembungkus kunci AES | Pembungkus kunci AES berarti Anda menggunakan kunci AES untuk membungkus beberapa kunci lainnya. Nama mekanisme yang sesuai adalah `CKM_AES_KEY_WRAP`. Hal ini digunakan dengan fungsi `C_WrapKey`. Mekanisme pembungkus berbasis AES lainnya yang menggunakan vektor inisialisasi (IVs), seperti `CKM_AES_GCM` dan` CKM_CLOUDHSM_AES_GCM`, tidak terpengaruh oleh masalah ini. [Pelajari lebih lanjut tentang fungsi dan mekanisme](pkcs11-mechanisms.md).  | 
| Anda menentukan IV kustom ketika memanggil pembungkus kunci AES, dan panjang IV ini lebih pendek dari 8 | Bungkus kunci AES umumnya diinisialisasi menggunakan struktur `CK_MECHANISM` sebagai berikut: <br />`CK_MECHANISM mech = {CKM_AES_KEY_WRAP, IV_POINTER, IV_LENGTH};`<br />Masalah ini hanya berlaku untuk Anda jika:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/cloudhsm/latest/userguide/troubleshooting-aes-keys.html) | 

Jika Anda tidak memenuhi semua kondisi di atas, Anda dapat berhenti membaca sekarang. Kunci Anda yang dibungkus dapat dibuka dengan benar, dan masalah ini tidak berdampak pada Anda. Jika tidak, lihat [Tindakan yang harus Anda ambil jika kode Anda menghasilkan kunci terbungkus yang tidak dapat dipulihkan](#troubleshooting-problem2). 

## Tindakan yang harus Anda ambil jika kode Anda menghasilkan kunci terbungkus yang tidak dapat dipulihkan
<a name="troubleshooting-problem2"></a>

Anda harus mengambil tiga langkah berikut: 

1.  **Segera tingkatkan pustaka PKCS \#11 Anda ke versi yang lebih baru**
   + [Pustaka PKCS \#11 terbaru untuk Amazon Linux, CentOS 6 dan RHEL 6](client-upgrade.md)
   + [Pustaka PKCS \#11 terbaru untuk Amazon Linux 2, CentOS 7 dan RHEL 7](client-upgrade.md)
   + [Pustaka PKCS \#11 terbaru untuk Ubuntu 16.04 LTS](client-upgrade.md)

1. **Perbarui perangkat lunak Anda untuk menggunakan IV yang sesuai standar**

   Kami sangat menyarankan Anda mengikuti kode contoh kami dan hanya menentukan NULL IV, yang menyebabkan HSM untuk memanfaatkan IV default patuh standar. Atau, Anda dapat secara eksplisit menentukan IV sebagai `0xA6A6A6A6A6A6A6A6` dengan panjang IV yang sesuai `8`. Kami tidak merekomendasikan penggunaan IV lain untuk pembungkus kunci AES, dan secara eksplisit akan menonaktifkan kustom IVs untuk pembungkus kunci AES di versi future dari pustaka PKCS \#11.

   Contoh kode untuk menentukan IV dengan benar muncul di [aes\_wrapping.c](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/blob/master/src/wrapping/aes_wrapping.c#L72) pada. GitHub

1. **Identifikasi dan pulihkan kunci terbungkus yang ada**

   Anda harus mengidentifikasi kunci apa pun yang Anda bungkus menggunakan pustaka PKCS \#11 versi 3.0.0, lalu hubungi support for assistance ([https://aws.amazon.com/support](https://aws.amazon.com/support)) dalam memulihkan kunci ini.

**penting**  
Masalah ini hanya memengaruhi kunci yang dibungkus dengan pustaka PKCS \#11 versi 3.0.0. Anda dapat membungkus kunci menggunakan versi sebelumnya (paket bernomor 2.0.4 dan lebih rendah) atau versi yang lebih baru (paket bernomor 3.0.1 dan lebih tinggi) dari pustaka PKCS \#11. 