Memformat tombol untuk impor

Topik ini menjelaskan cara memformat kunci Anda 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 utama.

Format kunci yang didukung

  • Kunci simetris untuk enkripsi harus berukuran 16 byte (hanya untuk enkripsi simetris mentah) atau 32 byte data biner, dan tidak boleh dienkode. Jika kunci dienkode dengan heksadesimal 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 kriptografi yang digunakan (misalnya, kunci HMAC-SHA256 harus memiliki panjang 32 byte), dan tidak boleh dienkode. Jika kunci Anda dienkode dengan heksadesimal 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 dalam format yang benar untuk diimpor.

  • Jika output-nya adalah ASCII text, gunakan perintah cat untuk menampilkan isi file.

    • Jika berupa string huruf dan angka yang diakhiri dengan tanda =, mungkin string tersebut berenkode base64. Gunakan perintah base64 (Base64.exe di Windows) untuk mendekodenya. Berikut adalah contoh kunci berenkode base64:

      THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=
      
    • Jika berisi satu atau beberapa baris angka heksadesimal, kode tersebut mungkin dienkode dengan heksadesimal. Gunakan perintah xxd (atau perintah PowerShell Format-Hex di Windows) untuk mendekodenya. Berikut adalah contoh kunci berenkode 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 tombol asimetris

Kunci asimetris 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 jalankan perintah berikut pada setiap kunci asimetris sebelum mencoba mengimpornya ke Cloud KMS.

  1. Gunakan perintah file untuk memeriksa format kunci.

    file /path/to/unwrapped-key
    
    • Jika output-nya adalah PEM, kuncinya dalam format PEM. Jika ASCII text, kemungkinan dalam format PEM. Dalam kedua kasus tersebut, jalankan perintah berikut untuk mengonversinya ke format PCKS#8 DER:

      openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \
          -in /path/to/asymmetric-key-pem \
          -out /path/to/formatted-key
      
    • Jika output-nya adalah data, kunci kemungkinan akan dalam format DER, tetapi mungkin tidak dalam format PKCS #8. Jalankan perintah berikut untuk memastikan kunci memiliki format yang benar. Perintah ini tidak berpengaruh jika format kunci sudah benar. Dalam hal ini, Anda dapat menggunakan perintah diff 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 bahwa kunci memiliki format yang sesuai, tetapi impor masih gagal, periksa error di Konsol Google Cloud, lalu lihat Memecahkan masalah impor yang gagal.

Langkah selanjutnya