Resource: ImportJob
An ImportJob
can be used to create CryptoKeys
and CryptoKeyVersions
using pre-existing key material, generated outside of Cloud KMS.
When an ImportJob
is created, Cloud KMS will generate a "wrapping key", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of importMethod
. When the wrapping key generation is complete, the state
will be set to ACTIVE
and the publicKey
can be fetched. The fetched public key can then be used to wrap your pre-existing key material.
Once the key material is wrapped, it can be imported into a new CryptoKeyVersion
in an existing CryptoKey
by calling cryptoKeyVersions.import
. Multiple CryptoKeyVersions
can be imported with a single ImportJob
. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key.
An ImportJob
expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the ImportJob
's public key.
For more information, see Importing a key.
JSON representation |
---|
{ "name": string, "importMethod": enum ( |
Fields | |
---|---|
name |
Output only. The resource name for this |
import |
Required. Immutable. The wrapping method to be used for incoming key material. |
protection |
Required. Immutable. The protection level of the |
create |
Output only. The time at which this A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
generate |
Output only. The time this A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
expire |
Output only. The time at which this A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
expire |
Output only. The time this A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
state |
Output only. The current state of the |
public |
Output only. The public key with which to wrap key material prior to import. Only returned if |
attestation |
Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen |
ImportMethod
ImportMethod
describes the key wrapping method chosen for this ImportJob
.
Enums | |
---|---|
IMPORT_METHOD_UNSPECIFIED |
Not specified. |
RSA_OAEP_3072_SHA1_AES_256 |
This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, see RSA AES key wrap mechanism. |
RSA_OAEP_4096_SHA1_AES_256 |
This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, see RSA AES key wrap mechanism. |
RSA_OAEP_3072_SHA256_AES_256 |
This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, see RSA AES key wrap mechanism. |
RSA_OAEP_4096_SHA256_AES_256 |
This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, see RSA AES key wrap mechanism. |
RSA_OAEP_3072_SHA256 |
This ImportMethod represents RSAES-OAEP with a 3072 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import. |
RSA_OAEP_4096_SHA256 |
This ImportMethod represents RSAES-OAEP with a 4096 bit RSA key. The key material to be imported is wrapped directly with the RSA key. Due to technical limitations of RSA wrapping, this method cannot be used to wrap RSA keys for import. |
ImportJobState
The state of the ImportJob
, indicating if it can be used.
Enums | |
---|---|
IMPORT_JOB_STATE_UNSPECIFIED |
Not specified. |
PENDING_GENERATION |
The wrapping key for this job is still being generated. It may not be used. Cloud KMS will automatically mark this job as ACTIVE as soon as the wrapping key is generated. |
ACTIVE |
This job may be used in cryptoKeys.create and cryptoKeyVersions.create requests. |
EXPIRED |
This job can no longer be used and may not leave this state once entered. |
WrappingPublicKey
The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod
.
JSON representation |
---|
{ "pem": string } |
Fields | |
---|---|
pem |
The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and Textual Encoding of Subject Public Key Info. |
Methods |
|
---|---|
|
Create a new ImportJob within a KeyRing . |
|
Returns metadata for a given ImportJob . |
|
Gets the access control policy for a resource. |
|
Lists ImportJobs . |
|
Sets the access control policy on the specified resource. |
|
Returns permissions that a caller has on the specified resource. |