Menggunakan kelas AWS CloudHSM KeyStore Java - AWS CloudHSM

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

Menggunakan kelas AWS CloudHSM KeyStore Java

AWS CloudHSM KeyStoreKelas ini menyediakan toko kunci PKCS12 tujuan khusus. Penyimpanan kunci ini dapat menyimpan sertifikat bersama dengan data kunci Anda dan menghubungkannya dengan data kunci yang disimpan di AWS CloudHSM. AWS CloudHSM KeyStoreKelas mengimplementasikan KeyStore Service Provider Interface (SPI) dari Java Cryptography Extension (JCE). Untuk informasi selengkapnya tentang penggunaanKeyStore, lihat Kelas KeyStore.

catatan

Karena sertifikat adalah informasi publik, dan untuk memaksimalkan kapasitas penyimpanan untuk kunci kriptografi, AWS CloudHSM tidak mendukung penyimpanan sertifikat pada HSM.

Memilih toko kunci yang sesuai

Penyedia AWS CloudHSM Java Cryptographic Extension (JCE) menawarkan AWS CloudHSM tujuan khusus. KeyStore AWS CloudHSM KeyStoreKelas mendukung pembongkaran operasi kunci ke HSM, penyimpanan lokal sertifikat dan operasi berbasis sertifikat.

Muat CloudHSM tujuan khusus sebagai berikut: KeyStore

KeyStore ks = KeyStore.getInstance("CloudHSM")

Inisialisasi AWS CloudHSM KeyStore

Masuk ke cara AWS CloudHSM KeyStore yang sama seperti Anda masuk ke penyedia JCE. Anda dapat menggunakan variabel lingkungan atau file properti sistem, dan Anda harus masuk sebelum 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 AWS CloudHSM Keystore, Anda mengatur kata sandi dan memberikannya saat menggunakan metode pemuatan, atur, dan dapatkan.

Buat instance objek CloudHSM baru sebagai berikut: KeyStore

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);

Menggunakan AWS CloudHSM KeyStore

AWS CloudHSM KeyStore sesuai dengan KeyStore spesifikasi JCE Class dan menyediakan fungsi-fungsi berikut.

  • 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.

    Contoh kode:

    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 file. AWS CloudHSM KeyStore Anda dapat menghapus kunci menggunakan destroy metode antarmuka Destroyable.

    ((Destroyable) key).destroy();
  • 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. Seperti yang getKey secara langsung menanyakan HSM, itu dapat digunakan untuk kunci apa pun pada HSM terlepas dari apakah itu 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,KeyStoreExceptiondikeluarkan. Anda dapat menggunakan kode JCE untuk mendapatkan objek kunci dan kemudian menggunakan KeyStore SetKeyEntry metode untuk mengaitkan sertifikat ke kunci.

  • setKeyEntry dengan byte[] kunci

    API ini saat ini tidak didukung dengan Client SDK 5.

  • setKeyEntry dengan objek Key

    Menetapkan kunci yang diberikan untuk alias yang diberikan dan menyimpannya di dalam HSM. Jika kunci belum ada di dalam HSM, itu akan diimpor ke HSM sebagai kunci sesi yang dapat diekstraksi.

    Jika objek Key adalah tipe PrivateKey, objek harus disertai dengan rantai sertifikat yang sesuai.

    Jika alias sudah ada, panggilan SetKeyEntry mengeluarkan KeyStoreException 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 panggilansetKey).