Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
MenggunakanAWS CloudHSMKeyStore Java untuk Klien SDK 3
Kelas AWS CloudHSM KeyStore
menyediakan penyimpanan kunci PKCS12 tujuan khusus yang mengizinkan akses ke AWS CloudHSM melalui aplikasi seperti keytool dan jarsigner. Penyimpanan kunci ini dapat menyimpan sertifikat bersama dengan data kunci Anda dan menghubungkannya dengan data kunci yang disimpan di AWS CloudHSM.
catatan
Karena sertifikat adalah informasi publik, dan untuk memaksimalkan kapasitas penyimpanan untuk kunci kriptografi, AWS CloudHSM tidak mendukung penyimpanan sertifikat pada HSM.
Kelas AWS CloudHSM KeyStore
mengimplementasikan Service Provider Interface (SPI) KeyStore
dari Java Cryptography Extension (JCE). Untuk informasi lebih lanjut tentang penggunaan KeyStore
, lihatKeyStore Kelas
Memilih toko kunci yang tepat
Penyedia Java Cryptographic Extension (JCE) AWS CloudHSM dilengkapi dengan penyimpanan kunci hanya baca, default pass-through, yang meneruskan semua transaksi ke HSM. Penyimpanan kunci default ini berbeda dari AWS CloudHSM Keystore tujuan khusus. Dalam kebanyakan situasi, Anda akan mendapatkan performa waktu aktif yang lebih baik dan throughput dengan menggunakan default. Anda sebaiknya hanya menggunakan KeyStore AWS CloudHSM untuk aplikasi di mana Anda memerlukan dukungan untuk sertifikat dan operasi berbasis sertifikat selain pembongkaran operasi kunci pada HSM.
Meskipun kedua penyimpanan kunci menggunakan penyedia JCE untuk operasi, keduanya adalah entitas independen dan tidak bertukar informasi satu sama lain.
Muat penyimpanan kunci default untuk aplikasi Java Anda sebagai berikut:
KeyStore ks = KeyStore.getInstance("Cavium");
Muat CloudHSM KeyStore tujuan khusus sebagai berikut:
KeyStore ks = KeyStore.getInstance("CloudHSM")
Menginisialisasi KeyStore AWS CloudHSM
Masuk ke KeyStore AWS CloudHSM dengan cara yang sama seperti Anda login ke penyedia JCE. Anda dapat menggunakan variabel lingkungan atau file properti sistem, dan Anda harus login sebelum Anda mulai menggunakan CloudHSM KeyStore. Untuk contoh masuk ke HSM menggunakan penyedia JCE, lihat Masuk ke HSM
Jika diinginkan, Anda dapat menentukan kata sandi untuk mengenkripsi file PKCS12 lokal yang menyimpan data penyimpanan kunci. Saat Anda membuat Keystore AWS CloudHSM, Anda mengatur kata sandi dan memberikannya ketika menggunakan metode load, set, dan get.
Instantiate objek KeyStore CloudHSM baru sebagai berikut:
ks.load(null, null);
Tulis data penyimpanan kunci ke file menggunakan metode store
. Sejak saat itu, Anda dapat memuat penyimpanan kunci yang ada menggunakan metode load
dengan file sumber dan kata sandi sebagai berikut:
ks.load(inputStream, password);
MenggunakanAWS CloudHSMKeystore
Sebuah objek CloudHSM KeyStore umumnya digunakan melalui aplikasi pihak ketiga seperti jarsigner
KeyStore AWS CloudHSM sesuai dengan spesifikasi KeyStore Kelas
-
load
Memuat penyimpanan kunci dari pengaliran input yang diberikan. Jika kata sandi ditetapkan saat menyimpan penyimpanan kunci, kata sandi yang sama ini harus disediakan agar pemuatan berhasil. Atur kedua parameter ke null untuk menginisialisasi sebuah penyimpanan kunci kosong baru.
KeyStore ks = KeyStore.getInstance("CloudHSM"); ks.load(inputStream, password);
-
aliases
Mengembalikan penghitungan nama alias dari semua entri dalam contoh instans penyimpanan kunci yang diberikan. Hasil termasuk objek yang disimpan secara lokal dalam file PKCS12 dan objek yang ada di HSM.
Kode sampel:
KeyStore ks = KeyStore.getInstance("CloudHSM"); for(Enumeration<String> entry = ks.aliases(); entry.hasMoreElements();) { String label = entry.nextElement(); System.out.println(label); }
-
ContainsAlias
Mengembalikan nilai true jika penyimpanan kunci memiliki akses ke setidaknya satu objek dengan alias yang ditentukan. Penyimpanan kunci memeriksa objek yang disimpan secara lokal dalam file PKCS12 dan bendaobjek yang ada di HSM.
-
DeleteEntry
Menghapus entri sertifikat dari file PKCS12 lokal. Menghapus data kunci yang disimpan dalam HSM tidak didukung menggunakan Keystore AWS CloudHSM. Anda dapat menghapus kunci dengan alat key_mgmt_util CloudHSM.
-
GetCertificate
Mengembalikan sertifikat yang terkait dengan alias jika tersedia. Jika alias tidak ada atau mereferensikan objek yang bukan sertifikat, fungsi mengembalikan NULL.
KeyStore ks = KeyStore.getInstance("CloudHSM"); Certificate cert = ks.getCertificate(alias)
-
GetCertificateAlias
Mengembalikan nama (alias) dari entri penyimpanan kunci pertama yang datanya cocok dengan sertifikat yang diberikan.
KeyStore ks = KeyStore.getInstance("CloudHSM"); String alias = ks.getCertificateAlias(cert)
-
GetCertificateChain
Mengembalikan rantai sertifikat yang terkait dengan alias yang diberikan. Jika alias tidak ada atau mereferensikan objek yang bukan sertifikat, fungsi mengembalikan NULL.
-
GetCreationDate
Mengembalikan tanggal pembuatan entri yang diidentifikasi oleh alias yang diberikan. Jika tanggal pembuatan tidak tersedia, fungsi mengembalikan tanggal saat sertifikat menjadi valid.
-
GetKey
GetKey diteruskan ke HSM dan mengembalikan objek kunci yang sesuai dengan label yang diberikan. Karena
getKey
langsung membuat kueri ke HSM, ini dapat digunakan untuk setiap kunci pada HSM, terlepas dari apakah ini dihasilkan oleh KeyStore.Key key = ks.getKey(keyLabel, null);
-
IsCertificateEntry
Memeriksa apakah entri dengan alias yang diberikan merupakan entri sertifikat.
-
IsKeyEntry
Memeriksa apakah entri dengan alias yang diberikan merupakan entri kunci. Tindakan mencari file PKCS12 dan HSM untuk alias.
-
SetCertificateEntry
Menetapkan sertifikat yang diberikan untuk alias yang diberikan. Jika alias yang diberikan sudah digunakan untuk me ngidentifikasi kunci atau sertifikat,
KeyStoreException
dikeluarkan. Anda dapat menggunakan kode JCE untuk mendapatkan objek kunci dan kemudian menggunakan metodeSetKeyEntry
KeyStore untuk mengaitkan sertifikat dengan kunci. -
SetKeyEntry
denganbyte[]
kunciAPI ini saat ini tidak didukung dengan SDK Klien 3.
-
SetKeyEntry
dengan objekKey
Menetapkan kunci yang diberikan untuk alias yang diberikan dan menyimpannya di dalam HSM. Jika objek
Key
bukan tipeCaviumKey
, kunci diimpor ke HSM sebagai kunci sesi yang dapat diekstrak.Jika objek
Key
adalah tipePrivateKey
, objek harus disertai dengan rantai sertifikat yang sesuai.Jika alias sudah ada, panggilan
SetKeyEntry
mengeluarkanKeyStoreException
dan mencegah kunci ditimpa. Jika kunci harus ditimpa, gunakan KMU atau JCE untuk tujuan itu. -
EngineSize
Mengembalikan jumlah entri dalam penyimpanan kunci.
-
Store
Menyimpan penyimpanan kunci untuk pengaliran output yang diberikan sebagai file PKCS12 dan mengamankannya dengan kata sandi yang diberikan. Selain itu, semua kunci dimuat tetap ada (yang ditetapkan menggunakan panggilan
setKey
).