Topik ini menjelaskan cara memformat kunci agar dapat diimpor oleh Cloud KMS sebagai versi kunci baru.
Format yang benar untuk materi kunci Anda bervariasi berdasarkan apakah materi kunci diimpor ke kunci simetris, atau ke kunci asimetris. Untuk informasi selengkapnya tentang perbedaan antara kunci simetris dan asimetris, lihat Tujuan dan algoritma kunci.
Format kunci yang didukung
Kunci simetris untuk enkripsi harus berukuran 16 byte (khusus enkripsi simetris mentah) atau 32 byte data biner, dan tidak boleh dienkode. Jika kunci Anda berenkode hex atau berenkode base64, Anda harus mendekodenya sebelum mencoba mengimpornya.
Kunci simetris untuk penandatanganan (kunci MAC) harus memiliki panjang yang sama dengan panjang output fungsi hash kriptografis yang digunakan (misalnya, kunci HMAC-SHA256 harus memiliki panjang 32 byte), dan tidak boleh dienkode. Jika kunci Anda berenkode hex atau berenkode base64, Anda harus mendekodenya sebelum mencoba mengimpornya.
Kunci asimetris untuk enkripsi atau penandatanganan harus dalam format PKCS #8 dan harus dienkode DER. Format PCKS #8 ditentukan dalam RFC 5208. Encoding DER ditentukan dalam International Telecommunications Union X.680. Kunci asimetris harus menggunakan salah satu kombinasi panjang dan algoritma yang didukung oleh Cloud KMS.
Beberapa aspek kunci, seperti panjang kunci, tidak dapat diubah setelah kunci dibuat. Dalam kasus ini, kunci tidak dapat diimpor ke Cloud KMS.
Memeriksa kunci simetris
Gunakan perintah wc
untuk memeriksa panjang kunci simetris.
wc -c /path/to/unwrapped-key
Anda tidak dapat mengimpor kunci enkripsi simetris dengan panjang selain 32.
Kunci penandatanganan simetris (kunci MAC) harus memiliki panjang yang sama dengan panjang output fungsi hash kriptografis yang digunakan (misalnya, kunci HMAC-SHA256 harus memiliki panjang 32 byte).
Gunakan perintah file
untuk memeriksa format kunci.
file /path/to/unwrapped-key
Jika output-nya adalah
data
, kunci tersebut memiliki format yang benar untuk diimpor.Jika outputnya adalah
ASCII text
, gunakan perintahcat
untuk menampilkan konten file.Jika berupa string huruf dan angka yang diakhiri dengan tanda
=
, string tersebut mungkin dienkode base64. Gunakan perintahbase64
(Base64.exe
di Windows) untuk mendekodenya. Berikut adalah contoh kunci yang dienkode base64:THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=
Jika berisi satu atau beberapa baris angka heksadesimal, file tersebut mungkin dienkode hex. Gunakan perintah
xxd
(atau perintah PowerShellFormat-Hex
di Windows) untuk mendekodenya. Berikut adalah contoh kunci yang dienkode dalam heksadesimal:00000000: 4c7c c0ae 36ac b01f a088 a78d 793d 59af L|..6.......y=Y. 00000010: be0e 815d b8b7 e129 fb7e c473 aa23 0776 ...]...).~.s.#.v
Jika berisi teks lain, kunci tersebut mungkin bukan kunci simetris yang valid.
Memformat kunci asimetris
Kunci asimetris yang menggunakan salah satu algoritma yang didukung dapat diimpor. Dalam praktiknya, sulit untuk menentukan secara retroaktif algoritma yang digunakan untuk membuat kunci asimetris. Oleh karena itu, sebaiknya Anda menjalankan perintah berikut pada setiap kunci asimetris sebelum mencoba mengimpornya ke Cloud KMS.
Gunakan perintah
file
untuk memeriksa format kunci.file /path/to/unwrapped-key
Jika outputnya adalah
PEM
, kuncinya dalam format PEM. JikaASCII text
, formatnya mungkin PEM. Dalam kedua kasus tersebut, jalankan perintah berikut untuk mengonversinya ke format DER PCKS#8:openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \ -in /path/to/asymmetric-key-pem \ -out /path/to/formatted-key
Jika outputnya adalah
data
, kunci kemungkinan dalam format DER, tetapi mungkin tidak dalam format PKCS #8. Jalankan perintah berikut untuk memastikan bahwa kunci dalam format yang benar. Perintah tidak akan berpengaruh jika kunci sudah dalam format yang benar. Dalam hal ini, Anda dapat menggunakan perintahdiff
untuk memverifikasi bahwa file input dan output identik.openssl pkcs8 -topk8 -nocrypt -inform DER -outform DER \ -in /path/to/asymmetric-key-der \ -out /path/to/formatted-key
Pemecahan masalah
Jika Anda menjalankan perintah di atas dan yakin kunci tersebut dalam format yang sesuai, tetapi impor masih gagal, periksa error di konsol Google Cloud, lalu lihat Memecahkan masalah impor yang gagal.
Langkah selanjutnya
- Lanjutkan ke Mengimpor versi kunci
- Pelajari impor kunci