Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ambil atribut dengan pustaka PKCS #11 untuk AWS CloudHSM SDK Klien 5
Saat aplikasi Anda membaca atribut dari kunci atau objek sertifikat, pustaka PKCS #11 mengirimkan satu permintaan ke cluster Anda untuk setiap C_GetAttributeValue panggilan. Jumlah atribut dalam template tidak mengubah jumlah permintaan. Satu panggilan yang meminta sepuluh atribut mengirimkan satu permintaan. Sepuluh panggilan yang setiap permintaan satu atribut mengirim sepuluh permintaan.
Setiap panggilan membaca atribut objek dari cluster Anda dalam satu permintaan, dan kemudian menyalin nilai yang diminta template Anda. Pustaka PKCS #11 tidak menyimpan nilai, jadi setiap panggilan mengirimkan permintaan baru.
Untuk mengurangi jumlah permintaan yang dikirim aplikasi Anda, ikuti rekomendasi berikut:
-
Minta setiap atribut yang Anda butuhkan dalam satu template. Buat template tunggal yang berisi semua atribut yang Anda inginkan, dan meneruskannya ke satu
C_GetAttributeValuepanggilan. Contoh berikut membaca tiga atribut kunci dengan satu panggilan.CK_OBJECT_CLASS obj_class; CK_BYTE label[128]; CK_BYTE id[128]; CK_ATTRIBUTE attrs[] = { {CKA_CLASS, &obj_class, sizeof(obj_class)}, {CKA_LABEL, label, sizeof(label)}, {CKA_ID, id, sizeof(id)}, }; rv = funcs->C_GetAttributeValue(session, object, attrs, sizeof(attrs) / sizeof(CK_ATTRIBUTE));Untuk informasi selengkapnya, lihat Daftar atribut kunci
di GitHub situs web. -
Minta hanya atribut yang didukung objek Anda dan yang dapat Anda baca. Ketika template Anda menamai atribut yang tidak dimiliki objek,
C_GetAttributeValuesetelulValueLenkeCK_UNAVAILABLE_INFORMATIONuntuk atribut itu dan mengembalikannyaCKR_ATTRIBUTE_TYPE_INVALID. Atribut sensitif berperilaku dengan cara yang sama dan kembaliCKR_ATTRIBUTE_SENSITIVE. Dalam kedua kasus tersebut, atribut lain dalam template Anda masih menerima nilainya. PerulValueLeniksa setiap atribut alih-alih hanya nilai pengembalian panggilan. Untuk atribut yang didukung setiap tipe objek, dan untuk atribut yang sensitif, lihatTabel atribut perpustakaan PKCS #11 untuk AWS CloudHSM SDK Klien 5. -
Periksa berapa banyak panggilan yang dilakukan pengikatan bahasa Anda. Pengikatan PKCS #11 untuk bahasa seperti Python atau Java menentukan berapa banyak
C_GetAttributeValuepanggilan yang dikirim. Beberapa binding mengirim satu panggilan untuk setiap atribut, dan beberapa mengirim dua. Gunakan antarmuka yang disediakan pengikatan Anda untuk membaca beberapa atribut sekaligus, dan ukur panggilan yang dikirim aplikasi Anda. -
Nilai atribut cache dalam aplikasi Anda. Baca atribut objek satu kali, dan simpan nilai-nilai yang dibutuhkan aplikasi Anda. Anda dapat menggunakan kembali nilai yang di-cache sampai sesuatu mengubah objek. Ketika aplikasi atau pengguna lain dapat memodifikasi objek Anda, segarkan cache Anda setelah mereka melakukannya.
-
Alokasikan buffer Anda sebelum Anda membaca atribut. Standar PKCS #11 menjelaskan pola dua lintasan untuk nilai panjang variabel. Aplikasi Anda memang
C_GetAttributeValuegil denganpValueset toNULL_PTRuntuk mempelajari panjangnya, dan kemudian memanggilnya lagi untuk membaca nilainya. Kedua panggilan mengirim permintaan. Ketika Anda mengetahui ukuran buffer yang menyimpan nilai yang Anda harapkan, alokasikan buffer terlebih dahulu dan baca nilainya dengan satu panggilan.Buffer yang terlalu kecil kembali
CKR_BUFFER_TOO_SMALLuntuk atribut itu, dan panggilan masih mengirimkan permintaan. Pilih ukuran buffer yang cukup besar untuk nilai yang Anda harapkan. Atribut yang memegang template, sepertiCKA_WRAP_TEMPLATE, masih membutuhkan pola dua lintasan.
catatan
Rekomendasi ini berlaku untuk objek utama dan objek sertifikat, dan batasan yang berbeda berlaku untuk masing-masing. Penyimpanan sertifikat memiliki batas laju baca tetap, dan setiap C_GetAttributeValue panggilan pada objek sertifikat menggunakan satu operasi baca darinya. Untuk objek utama, atribut throttle HSMS Anda dibaca saat mencapai kapasitas, bukan pada tingkat tetap. Pustaka PKCS #11 mencoba ulang permintaan tersebut secara otomatis. Mengirim lebih sedikit permintaan membantu aplikasi Anda tetap dalam kedua batas. Untuk informasi selengkapnya, lihat Batas penyimpanan sertifikat dan Pelambatan HSM.