Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Atribut kunci Java yang didukung untuk AWS CloudHSM Klien SDK 5
Topik ini memberikan informasi tentang atribut kunci Java yang didukung untuk AWS CloudHSM Klien SDK 5. Topik ini menjelaskan cara menggunakan ekstensi berpemilik bagi JCE penyedia untuk menyetel atribut kunci. Gunakan ekstensi ini untuk mengatur atribut kunci yang didukung dan nilai-nilainya selama operasi ini:
Pembuatan kunci
Impor kunci
Untuk contoh cara menggunakan atribut kunci, lihatContoh kode untuk pustaka AWS CloudHSM perangkat lunak untuk Java untuk Klien SDK 5.
Memahami atribut
Gunakan atribut kunci untuk menentukan tindakan apa yang diizinkan pada objek utama, termasuk kunci publik, pribadi, atau rahasia. Atribut dan nilai kunci didefinisikan selama operasi pembuatan objek utama.
Ekstensi Kriptografi Java (JCE) tidak menentukan bagaimana Anda harus menetapkan nilai pada atribut kunci, sehingga sebagian besar tindakan diizinkan secara default. Sebaliknya, standar PKCS # 11 mendefinisikan satu set atribut yang komprehensif dengan default yang lebih ketat. Dimulai dengan JCE penyedia 3.1, AWS CloudHSM menyediakan ekstensi berpemilik yang memungkinkan Anda menetapkan nilai yang lebih ketat untuk atribut yang umum digunakan.
Atribut yang didukung
Anda dapat mengatur nilai untuk atribut yang tercantum dalam tabel berikut. Sebagai praktik terbaik, tetapkan hanya nilai untuk atribut yang ingin Anda buat ketat. Jika Anda tidak menentukan nilai, AWS CloudHSM menggunakan nilai default yang ditentukan dalam tabel di bawah ini. Sel kosong di kolom Nilai Default menunjukkan bahwa tidak ada nilai default tertentu yang ditetapkan untuk atribut.
Atribut | Nilai Default | Catatan | ||
---|---|---|---|---|
Kunci simetris | Kunci Publik dalam Pasangan Kunci | Kunci Privat dalam Pasangan Kunci | ||
DECRYPT |
TRUE |
TRUE |
Benar menunjukkan Anda dapat menggunakan kunci untuk mendekripsi penyangga apa pun. Anda biasanya mengatur ini FALSE untuk kunci yang WRAP disetel ke true. | |
DERIVE |
Memungkinkan kunci untuk digunakan untuk mendapatkan kunci lainnya. | |||
ENCRYPT |
TRUE |
TRUE |
Benar menunjukkan Anda dapat menggunakan kunci untuk mengenkripsi penyangga apa pun. | |
EXTRACTABLE |
TRUE |
TRUE |
Benar menunjukkan Anda dapat mengekspor kunci ini dari fileHSM. | |
ID |
|
|
Nilai yang ditentukan pengguna yang digunakan untuk mengidentifikasi kunci. | |
KEY_TYPE |
Digunakan untuk mengidentifikasi jenis kunci (AES,, rahasia generikDESede, EC, atauRSA). | |||
LABEL |
String yang ditentukan pengguna memungkinkan Anda mengidentifikasi kunci dengan mudah pada kunci Anda. HSM Untuk mengikuti praktik terbaik, gunakan label unik untuk setiap tombol sehingga lebih mudah ditemukan nanti. | |||
LOCAL |
Menunjukkan kunci yang dihasilkan olehHSM. | |||
OBJECT_CLASS |
Digunakan untuk mengidentifikasi Object Class dari kunci (SecretKey, PublicKey atau PrivateKey). | |||
PRIVATE |
TRUE |
TRUE |
TRUE |
Benar menunjukkan bahwa pengguna tidak dapat mengakses kunci sampai pengguna diautentikasi. Untuk kejelasan, pengguna tidak dapat mengakses kunci apa pun AWS CloudHSM sampai mereka diautentikasi, bahkan jika atribut ini disetel keFALSE. |
SIGN |
TRUE |
TRUE |
Benar menunjukkan Anda dapat menggunakan kunci untuk menandatangani digest pesan. Ini umumnya diatur untuk kunci publik dan FALSE untuk kunci pribadi yang telah Anda arsipkan. | |
SIZE |
Atribut yang mendefinisikan ukuran kunci. Untuk detail selengkapnya tentang ukuran kunci yang didukung, lihat Mekanisme yang didukung untuk Klien SDK 5. | |||
TOKEN |
FALSE |
FALSE |
FALSE |
Kunci permanen yang direplikasi HSMs di semua klaster dan disertakan dalam cadangan. TOKEN= FALSE menyiratkan kunci singkat yang secara otomatis terhapus ketika koneksi ke HSM rusak atau keluar. |
UNWRAP |
TRUE |
TRUE |
Benar menunjukkan Anda dapat menggunakan kunci untuk membungkus kunci lain. | |
VERIFY |
TRUE |
TRUE |
Benar menunjukkan Anda dapat menggunakan kunci untuk menandatangani digest pesan. Ini umumnya diatur FALSE untuk kunci pribadi. | |
WRAP |
TRUE |
TRUE |
Benar menunjukkan Anda dapat menggunakan kunci untuk membungkus kunci lain. Anda biasanya akan mengatur ini FALSE untuk kunci pribadi. | |
WRAP_WITH_TRUSTED |
FALSE |
FALSE |
True menunjukkan kunci hanya dapat dibungkus dan dibuka dengan kunci yang memiliki TRUSTED atribut disetel ke true. Setelah kunci WRAP_WITH_TRUSTED disetel ke true, atribut itu hanya-baca dan tidak dapat disetel ke false. Untuk membaca tentang pembungkus kepercayaan, lihat Menggunakan kunci tepercaya untuk mengontrol pembukaan kunci. |
catatan
Anda mendapatkan dukungan yang lebih luas untuk atribut di pustaka PKCS #11. Untuk informasi selengkapnya, lihat Atribut PKCS #11 yang Didukung.
Menyetel atribut untuk kunci
KeyAttributesMap
adalah objek seperti Peta Java, yang dapat Anda gunakan untuk mengatur nilai atribut untuk objek kunci. Metode untuk fungsi KeyAttributesMap
yang mirip dengan metode yang digunakan untuk manipulasi peta Java.
Untuk mengatur nilai kustom pada atribut, Anda memiliki dua opsi:
Gunakan metode yang tercantum dalam tabel berikut
Gunakan pola pembangun yang ditunjukkan kemudian dalam dokumen ini
Atribut peta objek mendukung metode berikut untuk mengatur atribut:
Operasi | Nilai Pengembalian | Metode KeyAttributesMap |
---|---|---|
Dapatkan nilai atribut kunci untuk kunci yang ada | Obyek (berisi nilai) atau nol |
dapatkan (keyAttribute) |
Isi nilai satu atribut kunci | Nilai sebelumnya terkait dengan atribut kunci, atau nol jika tidak ada pemetaan untuk atribut kunci |
put (keyAttribute, nilai) |
Isi nilai untuk beberapa atribut kunci | N/A |
putAll(keyAttributesMap) |
Hapus pasangan nilai kunci dari peta atribut |
Nilai sebelumnya terkait dengan atribut kunci, atau nol jika tidak ada pemetaan untuk atribut kunci |
menghapus (keyAttribute) |
catatan
Setiap atribut yang tidak secara eksplisit Anda tentukan diatur ke default yang tercantum dalam tabel sebelumnya di Atribut yang didukung.
Menetapkan atribut untuk key pair
Gunakan kelas Java KeyPairAttributesMap
untuk menangani atribut kunci untuk pasangan kunci. KeyPairAttributesMap
merangkum dua objek KeyAttributesMap
; satu untuk kunci publik dan satu untuk kunci privat.
Untuk mengatur atribut individu untuk kunci publik dan kunci privat secara terpisah, Anda dapat menggunakan metode put()
pada objek peta KeyAttributes
yang terkait untuk kunci itu. Gunakan metode getPublic()
untuk mengambil peta atribut untuk kunci publik, dan gunakan getPrivate()
untuk mengambil peta atribut untuk kunci privat. Isi nilai dari beberapa atribut kunci bersama-sama untuk kedua pasangan kunci publik dan privat menggunakan putAll()
dengan peta atribut pasangan kunci sebagai argumen.