Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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:
Kunci simetris yang diimpor harus berukuran 16 byte (hanya untuk
enkripsi simetris mentah)
atau 32 byte data biner, dan tidak boleh dienkode.
Jika kunci Anda berenkode hex atau base64, Anda harus mendekodenya sebelum
mencoba mengimpornya.
Kunci simetris untuk penandatanganan (kunci MAC): Kunci penandatanganan HMAC yang diimpor
harus memiliki panjang yang sama dengan panjang output fungsi hash
kriptografis yang digunakan (misalnya, kunci HMAC-SHA256 harus memiliki panjang 32
byte), dan harus tidak dienkode. Jika kunci Anda berenkode hex atau berenkode base64, Anda harus mendekodenya sebelum mencoba mengimpornya.
Kunci asimetris untuk enkripsi atau penandatanganan: Kunci asimetris yang diimpor
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 perintah cat untuk menampilkan konten file.
Jika berupa string huruf dan angka yang diakhiri dengan tanda =, string tersebut mungkin
dienkode base64. Gunakan perintah base64 (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 PowerShell Format-Hex
di Windows) untuk mendekodenya. Berikut adalah contoh kunci yang dienkode dalam heksadesimal:
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. Jika ASCII text,
formatnya mungkin PEM. Dalam kedua kasus tersebut, jalankan perintah berikut
untuk mengonversinya ke format DER PCKS#8:
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 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 tersebut dalam format
yang sesuai, tetapi impor masih gagal, periksa error di konsol Google Cloud , lalu
lihat Memecahkan masalah impor
yang gagal.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-18 UTC."],[],[],null,["# Formatting keys for import\n\nThis topic describes how to format your keys so that they can be imported by\nCloud KMS as new key versions.\n\nThe correct format for your key material varies based on whether the key\nmaterial is being imported into a symmetric key, or into an asymmetric key. For\nmore information about the difference between symmetric and asymmetric keys, see\n[Key purposes and algorithms](/kms/docs/algorithms).\n\nSupported key formats\n---------------------\n\n- **Symmetric keys for encryption** : Imported symmetric keys must be 16 bytes (for [raw symmetric encryption](/kms/docs/raw-encryption) only) or 32 bytes of binary data, and must *not* be encoded. If your key is hex-encoded or base64-encoded, then you must decode it before attempting to import it.\n- **Symmetric keys for signing (MAC keys)** : Imported HMAC signing keys must have a length equal to the output length of the cryptographic hash function being used (for example, HMAC-SHA256 keys must have a length of 32 bytes), and must *not* be encoded. If your key is hex-encoded or base64-encoded, then you must decode it before attempting to import it.\n- **Asymmetric keys for encryption or signing** : Imported asymmetric keys must be in PKCS #8 format and must be DER-encoded. PCKS #8 format is defined in [RFC 5208](https://tools.ietf.org/html/rfc5208). DER encoding is defined in [International\n Telecommunications Union X.680](https://www.itu.int/rec/T-REC-X.680/en). Asymmetric keys must use one of the [length and algorithm combinations](/kms/docs/algorithms) supported by Cloud KMS.\n\n| **Important:** An RSA key's public exponent must be 65,537 or higher. This is a Digital Signature Standard (DSS) requirement noted in the Criteria for IFC Key Pairs section of [FIPS PUB 186-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf), Section B.3.1\n\nSome aspects of a key, such as the key's length, cannot be changed after the key\nis created. In these cases, the key cannot be imported into Cloud KMS.\n\nChecking a symmetric key\n------------------------\n\nUse the `wc` command to check a symmetric key's length. \n\n```\nwc -c /path/to/unwrapped-key\n```\n\n- You cannot import a symmetric encryption key with a length other than 32.\n\n- Symmetric signing keys (MAC keys) must have a length equal to the output\n length of the cryptographic hash function being used (e.g. HMAC-SHA256 keys\n must have a length of 32 bytes).\n\nUse the `file` command to check a key's format. \n\n```\nfile /path/to/unwrapped-key\n```\n\n- If the output is `data`, the key is in the correct format to be imported.\n\n- If the output is `ASCII text`, use the `cat` command to display the contents\n of the file.\n\n - If it is a string of letters and numbers ending in an `=` sign, it might\n be base64-encoded. Use the `base64` command (`Base64.exe` on Windows) to\n decode it. The following is an example of a base64-encoded key:\n\n ```\n THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=\n ```\n - If it contains one or more lines of hexadecimal numbers, it might be\n hex-encoded. Use the `xxd` command (or the\n [`Format-Hex` PowerShell command](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-hex)\n on Windows) to decode it. The following is an example of a hex-encoded\n key:\n\n ```\n 00000000: 4c7c c0ae 36ac b01f a088 a78d 793d 59af L|..6.......y=Y.\n 00000010: be0e 815d b8b7 e129 fb7e c473 aa23 0776 ...]...).~.s.#.v\n ```\n - If it contains any other text, it may not be a valid symmetric key.\n\nFormatting asymmetric keys\n--------------------------\n\nAsymmetric keys using any of the supported [algorithms](/kms/docs/algorithms)\ncan be imported. In practice, it is difficult to retroactively determine the\nalgorithm used to create an asymmetric key. For that reason, we recommend that\nyou run the following commands on each asymmetric key before attempting to\nimport it into Cloud KMS.\n\n1. Use the `file` command to check a key's format.\n\n ```\n file /path/to/unwrapped-key\n ```\n - If the output is `PEM`, the key is in PEM format. If it is `ASCII text`,\n it is probably in PEM format. In either case, run the following command\n to convert it to PCKS#8 DER format:\n\n ```\n openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \\\n -in /path/to/asymmetric-key-pem \\\n -out /path/to/formatted-key\n ```\n - If the output is `data`, the key is likely to be in DER format, but it\n may not be in PKCS #8 format. Run the following command to ensure that\n the key is in the correct format. The command has no effect if the key\n is already in the correct format. In that case, you can use the `diff`\n command to verify that the input and output file are identical.\n\n ```\n openssl pkcs8 -topk8 -nocrypt -inform DER -outform DER \\\n -in /path/to/asymmetric-key-der \\\n -out /path/to/formatted-key\n ```\n\nTroubleshooting\n---------------\n\nIf you run the commands above and you believe the key is in an appropriate\nformat, but the import still fails, check for errors in Google Cloud console, and\nthen see [Troubleshooting failed\nimports](/kms/docs/troubleshooting-failed-imports).\n\nWhat's next\n-----------\n\n- Continue to [Import a key version](/kms/docs/importing-a-key)\n- Learn about [key import](/kms/docs/key-import)"]]