Class: Google::Cloud::Kms::V1::ImportJob

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/kms/v1/resources.rb

Overview

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 import_method. When the wrapping key generation is complete, the state will be set to ACTIVE and the public_key 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 ImportCryptoKeyVersion. 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.

Defined Under Namespace

Modules: ImportJobState, ImportMethod Classes: WrappingPublicKey

Instance Attribute Summary collapse

Instance Attribute Details

#attestation::Google::Cloud::Kms::V1::KeyOperationAttestation (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#create_time::Google::Protobuf::Timestamp (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#expire_event_time::Google::Protobuf::Timestamp (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#expire_time::Google::Protobuf::Timestamp (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#generate_time::Google::Protobuf::Timestamp (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#import_method::Google::Cloud::Kms::V1::ImportJob::ImportMethod



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#name::String (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#protection_level::Google::Cloud::Kms::V1::ProtectionLevel



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#public_key::Google::Cloud::Kms::V1::ImportJob::WrappingPublicKey (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end

#state::Google::Cloud::Kms::V1::ImportJob::ImportJobState (readonly)



686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
# File 'proto_docs/google/cloud/kms/v1/resources.rb', line 686

class ImportJob
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The public key component of the wrapping key. For details of the type of
  # key this public key corresponds to, see the
  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod}.
  # @!attribute [rw] pem
  #   @return [::String]
  #     The public key, encoded in PEM format. For more information, see the [RFC
  #     7468](https://tools.ietf.org/html/rfc7468) sections for [General
  #     Considerations](https://tools.ietf.org/html/rfc7468#section-2) and
  #     [Textual Encoding of Subject Public Key Info]
  #     (https://tools.ietf.org/html/rfc7468#section-13).
  class WrappingPublicKey
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # {::Google::Cloud::Kms::V1::ImportJob::ImportMethod ImportMethod} describes the
  # key wrapping method chosen for this
  # {::Google::Cloud::Kms::V1::ImportJob ImportJob}.
  module ImportMethod
    # Not specified.
    IMPORT_METHOD_UNSPECIFIED = 0

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_3072_SHA1_AES_256 = 1

    # 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](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226908).
    RSA_OAEP_4096_SHA1_AES_256 = 2
  end

  # The state of the {::Google::Cloud::Kms::V1::ImportJob ImportJob}, indicating if
  # it can be used.
  module ImportJobState
    # Not specified.
    IMPORT_JOB_STATE_UNSPECIFIED = 0

    # The wrapping key for this job is still being generated. It may not be
    # used. Cloud KMS will automatically mark this job as
    # {::Google::Cloud::Kms::V1::ImportJob::ImportJobState::ACTIVE ACTIVE} as soon as
    # the wrapping key is generated.
    PENDING_GENERATION = 1

    # This job may be used in
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key CreateCryptoKey}
    # and
    # {::Google::Cloud::Kms::V1::KeyManagementService::Client#create_crypto_key_version CreateCryptoKeyVersion}
    # requests.
    ACTIVE = 2

    # This job can no longer be used and may not leave this state once entered.
    EXPIRED = 3
  end
end