/** * * * <pre> * A template describing settings for new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. * The properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances created by either * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or * auto-rotation are controlled by this template. * </pre> * * <code>.google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;</code> */ public Builder setVersionTemplate( com.google.cloud.kms.v1.CryptoKeyVersionTemplate.Builder builderForValue) { if (versionTemplateBuilder_ == null) { versionTemplate_ = builderForValue.build(); onChanged(); } else { versionTemplateBuilder_.setMessage(builderForValue.build()); } return this; } /**
/** * * * <pre> * A template describing settings for new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. * The properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances created by either * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] or * auto-rotation are controlled by this template. * </pre> * * <code>.google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;</code> */ public Builder setVersionTemplate( com.google.cloud.kms.v1.CryptoKeyVersionTemplate.Builder builderForValue) { if (versionTemplateBuilder_ == null) { versionTemplate_ = builderForValue.build(); onChanged(); } else { versionTemplateBuilder_.setMessage(builderForValue.build()); } return this; } /**
/** * Creates an RSA encrypt/decrypt key pair with the given id. */ public static CryptoKey createAsymmetricKey(String projectId, String locationId, String keyRingId, String cryptoKeyId) throws IOException { try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) { String parent = KeyRingName.format(projectId, locationId, keyRingId); CryptoKeyPurpose purpose = CryptoKeyPurpose.ASYMMETRIC_DECRYPT; CryptoKeyVersionAlgorithm algorithm = CryptoKeyVersionAlgorithm.RSA_DECRYPT_OAEP_2048_SHA256; CryptoKeyVersionTemplate version = CryptoKeyVersionTemplate.newBuilder() .setAlgorithm(algorithm) .build(); CryptoKey cryptoKey = CryptoKey.newBuilder() .setPurpose(purpose) .setVersionTemplate(version) .build(); CryptoKey createdKey = client.createCryptoKey(parent, cryptoKeyId, cryptoKey); return createdKey; } } // [END kms_create_asymmetric_key]