

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

# Masalah yang diketahui untuk pustaka PKCS \$111 untuk AWS CloudHSM
<a name="ki-pkcs11-sdk"></a>

Isu-isu berikut berdampak pada pustaka PKCS \$111 untuk. AWS CloudHSM

**Topics**
+ [Masalah: Pembungkus kunci AES di versi 3.0.0 dari pustaka PKCS \$111 tidak memvalidasi sebelum digunakan IVs](#ki-pkcs11-1)
+ [Masalah: PKCS \$111 SDK 2.0.4 dan versi sebelumnya selalu menggunakan IV default `0xA6A6A6A6A6A6A6A6`untuk membungkus dan membuka kunci AES](#ki-pkcs11-2)
+ [Masalah: atribut `CKA_DERIVE` tidak didukung dan tidak ditangani](#ki-pkcs11-3)
+ [Masalah: atribut `CKA_SENSITIVE` tidak didukung dan tidak ditangani](#ki-pkcs11-4)
+ [Masalah: Hashing multibagian dan penandatanganan tidak didukung](#ki-pkcs11-5)
+ [Masalah: `C_GenerateKeyPair` tidak menangani `CKA_MODULUS_BITS` atau `CKA_PUBLIC_EXPONENT` dalam templat privat dengan cara yang patuh dengan standar](#ki-pkcs11-6)
+ [Masalah: Penyangga untuk operasi API `C_Encrypt` dan `C_Decrypt` tidak dapat melebihi 16 KB saat menggunakan mekanisme `CKM_AES_GCM`](#ki-pkcs11-8)
+ [Masalah: Derivasi kunci Eliptic-curve Diffie-Hellman (ECDH) dijalankan sebagian dalam HSM](#ki-pkcs11-9)
+ [Masalah: Verifikasi tanda tangan secp256k1 gagal pada EL6 platform seperti Cent dan RHEL 6 OS6](#ki-pkcs11-10)
+ [Masalah: Urutan panggilan fungsi yang salah memberikan hasil yang tidak terdefinisi, bukannya gagal](#ki-pkcs11-11)
+ [Masalah: Sesi Hanya Baca tidak didukung di SDK 5](#ki-pkcs11-13)
+ [Masalah: file `cryptoki.h` header hanya untuk Windows](#ki-pkcs11-14)

## Masalah: Pembungkus kunci AES di versi 3.0.0 dari pustaka PKCS \$111 tidak memvalidasi sebelum digunakan IVs
<a name="ki-pkcs11-1"></a>

Jika Anda menentukan IV lebih pendek dari 8 byte panjangnya, IV diberi bantalan dengan byte tak terduga sebelum digunakan. 

**catatan**  
Ini memengaruhi `C_WrapKey` dengan mekanisme `CKM_AES_KEY_WRAP` saja.
+ **Dampak:** Jika Anda memberikan IV yang lebih pendek dari 8 byte di pustaka PKCS \$111 versi 3.0.0, Anda mungkin tidak dapat membuka kunci. 
+ **Solusi:**
  + Kami sangat menyarankan Anda meningkatkan ke versi 3.0.1 atau lebih tinggi dari pustaka PKCS \$111, yang dengan benar memberlakukan panjang IV selama pembungkus kunci AES. Ubah kode pembungkus Anda untuk melewatkan NULL IV, atau tentukan IV default dari `0xA6A6A6A6A6A6A6A6`. Untuk informasi selengkapnya, lihat [Custom IVs with Non-Compliant Length for AES](troubleshooting-aes-keys.md) Key Wrap.
  + Jika Anda membungkus kunci dengan versi 3.0.0 dari pustaka PKCS \$111 menggunakan IV yang lebih pendek dari 8 byte, hubungi kami untuk [dukungan](https://aws.amazon.com/support).
+ **Status resolusi:** Masalah ini telah diatasi di pustaka PKCS \$111 versi 3.0.1. Untuk membungkus kunci menggunakan pembungkus kunci AES, tentukan IV yang NULL atau 8 byte panjangnya.

## Masalah: PKCS \$111 SDK 2.0.4 dan versi sebelumnya selalu menggunakan IV default `0xA6A6A6A6A6A6A6A6`untuk membungkus dan membuka kunci AES
<a name="ki-pkcs11-2"></a>

Pengguna yang disediakan diam-diam IVs diabaikan.

**catatan**  
Ini memengaruhi `C_WrapKey` dengan mekanisme `CKM_AES_KEY_WRAP` saja.
+ **Dampak:** 
  + Jika Anda menggunakan PKCS \$111 SDK 2.0.4 atau versi sebelumnya dan IV yang disediakan pengguna, kunci Anda dibungkus dengan IV default `0xA6A6A6A6A6A6A6A6`.
  + Jika Anda menggunakan PKCS \$111 SDK 3.0.0 atau versi lebih baru dan IV yang disediakan pengguna, kunci Anda dibungkus dengan IV yang disediakan pengguna..
+ **Solusi:**
  + Untuk membuka kunci yang dibungkus dengan PKCS \$111 SDK 2.0.4 atau sebelumnya, gunakan IV default dari `0xA6A6A6A6A6A6A6A6`. 
  + Untuk membuka kunci yang dibungkus dengan PKCS \$111 SDK 3.0.0 atau yang lebih baru, gunakan IV yang disediakan pengguna.
+ **Status resolusi:** Kami sangat menyarankan Anda untuk mengubah kode pembungkus dan pembuka untuk melewatkan NULL IV, atau menentukan IV default `0xA6A6A6A6A6A6A6A6`.

## Masalah: atribut `CKA_DERIVE` tidak didukung dan tidak ditangani
<a name="ki-pkcs11-3"></a>
+ **Status resolusi: **Kami telah menerapkan perbaikan untuk menerima `CKA_DERIVE` jika diatur ke `FALSE`. `CKA_DERIVE` diatur ke `TRUE` tidak akan didukung sampai kita mulai menambahkan dukungan fungsi derivasi kunci ke AWS CloudHSM. Anda harus memperbarui klien dan SDK ke versi 1.1.1 atau lebih tinggi untuk mendapatkan manfaat dari perbaikan.

## Masalah: atribut `CKA_SENSITIVE` tidak didukung dan tidak ditangani
<a name="ki-pkcs11-4"></a>
+ **Status resolusi: **Kami telah menerapkan perbaikan untuk menerima dan menghormati atribut `CKA_SENSITIVE` dengan benar. Anda harus memperbarui klien dan SDK ke versi 1.1.1 atau lebih tinggi untuk mendapatkan manfaat dari perbaikan.

## Masalah: Hashing multibagian dan penandatanganan tidak didukung
<a name="ki-pkcs11-5"></a>
+ **Dampak: **`C_DigestUpdate` dan `C_DigestFinal` tidak diimplementasikan. `C_SignFinal` juga tidak diimplementasikan dan akan gagal dengan `CKR_ARGUMENTS_BAD` untuk selain penyangga `NULL`. 
+ **Solusi:** Hash data Anda dalam aplikasi Anda dan gunakan AWS CloudHSM hanya untuk menandatangani hash. 
+ **Status resolusi:** Kami memperbaiki klien dan menerapkan hashing multipart dengan benar. SDKs Pembaruan akan diumumkan di forum AWS CloudHSM dan pada halaman riwayat versi.

## Masalah: `C_GenerateKeyPair` tidak menangani `CKA_MODULUS_BITS` atau `CKA_PUBLIC_EXPONENT` dalam templat privat dengan cara yang patuh dengan standar
<a name="ki-pkcs11-6"></a>
+ **Dampak: **`C_GenerateKeyPair` harus mengembalikan `CKA_TEMPLATE_INCONSISTENT` ketika templat privat berisi `CKA_MODULUS_BITS` atau `CKA_PUBLIC_EXPONENT`. Ini malah menghasilkan kunci privat yang semua bidang penggunaannya diatur ke `FALSE`. Kunci tidak dapat digunakan. 
+ **Pemecahan masalah: **Kami merekomendasikan bahwa aplikasi Anda memeriksa nilai bidang penggunaan selain kode kesalahan.
+ **Status resolusi: **Kami menerapkan perbaikan untuk mengembalikan pesan kesalahan yang tepat ketika templat kunci privat yang salah digunakan. Pembaruan pustaka PKCS \$111 akan diumumkan di halaman riwayat versi. 

## Masalah: Penyangga untuk operasi API `C_Encrypt` dan `C_Decrypt` tidak dapat melebihi 16 KB saat menggunakan mekanisme `CKM_AES_GCM`
<a name="ki-pkcs11-8"></a>

AWS CloudHSM tidak mendukung enkripsi AES-GCM multibagian.
+ **Dampak: **Anda tidak dapat menggunakan mekanisme `CKM_AES_GCM` untuk mengenkripsi data yang lebih besar dari 16 KB.
+ **Solusi:** Anda dapat menggunakan mekanisme alternatif seperti`CKM_AES_CBC`,`CKM_AES_CBC_PAD`, atau Anda dapat membagi data Anda menjadi beberapa bagian dan mengenkripsi setiap bagian menggunakan satu per satu. `AES_GCM` Jika Anda menggunakan`AES_GCM`, Anda harus mengelola pembagian data Anda dan enkripsi berikutnya. AWS CloudHSM tidak melakukan enkripsi AES-GCM multibagian untuk Anda. Perhatikan bahwa FIPS mengharuskan vektor inisialisasi (IV) untuk `AES-GCM` dihasilkan pada HSM. Oleh karena itu, IV untuk setiap bagian data terenkripsi AES-GCM Anda akan berbeda. 
+ **Status resolusi: **Kami memperbaiki SDK gagal secara eksplisit jika penyangga data terlalu besar. Kami mengembalikan `CKR_MECHANISM_INVALID` untuk operasi API `C_EncryptUpdate` dan `C_DecryptUpdate`. Kami sedang mengevaluasi alternatif untuk mendukung penyangga yang lebih besar tanpa mengandalkan enkripsi multibagian. Pembaruan akan diumumkan di AWS CloudHSM forum dan di halaman riwayat versi.

## Masalah: Derivasi kunci Eliptic-curve Diffie-Hellman (ECDH) dijalankan sebagian dalam HSM
<a name="ki-pkcs11-9"></a>

Kunci privat EC Anda tetap berada dalam HSM setiap saat, tetapi proses derivasi kunci dilakukan dalam beberapa langkah. Akibatnya, hasil menengah dari setiap langkah tersedia pada klien.
+ **Dampak:** Di Client SDK 3, kunci yang diturunkan menggunakan `CKM_ECDH1_DERIVE` mekanisme pertama kali tersedia pada klien dan kemudian diimpor ke HSM. Sebuah handel kunci kemudian kembali ke aplikasi Anda.
+ **Solusi:** Jika Anda menerapkan SSL/TLS Offload di AWS CloudHSM, batasan ini mungkin tidak menjadi masalah. Jika aplikasi Anda memerlukan kunci Anda untuk tetap berada dalam batas FIPS setiap saat, pertimbangkan untuk menggunakan protokol alternatif yang tidak bergantung pada derivasi kunci ECDH.
+ **Status resolusi:** SDK 5.16 sekarang mendukung ECDH dengan Derivasi Kunci yang dilakukan sepenuhnya dalam HSM.

## Masalah: Verifikasi tanda tangan secp256k1 gagal pada EL6 platform seperti Cent dan RHEL 6 OS6
<a name="ki-pkcs11-10"></a>

 Hal ini terjadi karena pustaka PKCS \$111 CloudHSM menghindari panggilan jaringan selama inisialisasi operasi verifikasi dengan menggunakan OpenSSL untuk memverifikasi data kurva EC. Karena Secp256k1 tidak didukung oleh paket OpenSSL default pada platform, inisialisasi gagal. EL6 
+ **Dampak:** Verifikasi tanda tangan Secp256k1 akan gagal pada platform. EL6 Panggilan verifikasi akan gagal dengan kesalahan `CKR_HOST_MEMORY`.
+ **Solusi:** Sebaiknya gunakan Amazon Linux 1 atau EL7 platform apa pun jika aplikasi PKCS \$111 Anda perlu memverifikasi tanda tangan secp256k1. Atau, tingkatkan ke versi paket OpenSSL yang mendukung kurva secp256k1.
+ **Status resolusi: **Kami menerapkan perbaikan untuk kembali ke HSM jika validasi kurva lokal tidak tersedia. Pembaruan pustaka PKCS \$111 akan diumumkan di halaman [riwayat versi](client-history.md).

## Masalah: Urutan panggilan fungsi yang salah memberikan hasil yang tidak terdefinisi, bukannya gagal
<a name="ki-pkcs11-11"></a>
+ **Dampak**: Jika Anda memanggil urutan fungsi yang salah, hasil akhir tidak benar meskipun fungsi individu panggilan kembali sukses. Misalnya, data yang didekripsi mungkin tidak cocok denga teks terang asli atau tanda tangan mungkin gagal untuk diverifikasi. Masalah ini memengaruhi operasi satu bagian dan multibagian.

  Contoh urutan fungsi yang salah:
  + `C_EncryptInit`/`C_EncryptUpdate` diikuti oleh `C_Encrypt`
  + `C_DecryptInit`/`C_DecryptUpdate` diikuti oleh `C_Decrypt`
  + `C_SignInit`/`C_SignUpdate` diikuti oleh `C_Sign`
  + `C_VerifyInit`/`C_VerifyUpdate` diikuti oleh `C_Verify`
  + `C_FindObjectsInit` diikuti oleh `C_FindObjectsInit`
+  **Pemecahan masalah**: Aplikasi Anda harus, sesuai dengan spesifikasi PKCS \$111, menggunakan urutan fungsi panggilan yang tepat untuk operasi tunggal dan multi-bagian. Aplikasi Anda seharusnya tidak bergantung pada pustaka CloudHSM PKCS \$111 untuk mengembalikan kesalahan dalam keadaan ini. 

## Masalah: Sesi Hanya Baca tidak didukung di SDK 5
<a name="ki-pkcs11-13"></a>
+ **Masalah:** SDK 5 tidak mendukung pembukaan sesi Read-Only dengan. `C_OpenSession`
+ **Dampak:** Jika Anda mencoba menelepon `C_OpenSession` tanpa memberikan`CKF_RW_SESSION`, panggilan akan gagal dengan kesalahan`CKR_FUNCTION_FAILED`. 
+ **Solusi:** Saat membuka sesi, Anda harus meneruskan `CKF_SERIAL_SESSION | CKF_RW_SESSION` bendera ke panggilan fungsi. `C_OpenSession` 

## Masalah: file `cryptoki.h` header hanya untuk Windows
<a name="ki-pkcs11-14"></a>
+ **Masalah:** Dengan AWS CloudHSM Client SDK 5 versi 5.0.0 hingga 5.4.0 di Linux, file header hanya `/opt/cloudhsm/include/pkcs11/cryptoki.h` kompatibel dengan sistem operasi Windows.
+ **Dampak:** Anda mungkin mengalami masalah ketika mencoba memasukkan file header ini dalam aplikasi Anda pada sistem operasi berbasis Linux.
+ **Status resolusi:** Upgrade ke AWS CloudHSM Client SDK 5 versi 5.4.1 atau lebih tinggi, yang mencakup versi Linux yang kompatibel dari file header ini.