use of com.google.cloud.kms.v1.KeyManagementServiceClient in project java-docs-samples by GoogleCloudPlatform.
the class SnippetsIT method createKeyRing.
private static KeyRing createKeyRing(String keyRingId) throws IOException {
try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
KeyRing keyRing = KeyRing.newBuilder().build();
KeyRing createdKeyRing = client.createKeyRing(getLocationName(), keyRingId, keyRing);
return createdKeyRing;
}
}
use of com.google.cloud.kms.v1.KeyManagementServiceClient in project java-docs-samples by GoogleCloudPlatform.
the class SnippetsIT method createKeyVersion.
private static CryptoKeyVersion createKeyVersion(String keyId) throws IOException, InterruptedException, TimeoutException {
try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
CryptoKeyName keyName = CryptoKeyName.of(PROJECT_ID, LOCATION_ID, KEY_RING_ID, keyId);
CryptoKeyVersion keyVersion = CryptoKeyVersion.newBuilder().build();
CryptoKeyVersion createdVersion = client.createCryptoKeyVersion(keyName, keyVersion);
for (int i = 1; i <= 5; i++) {
CryptoKeyVersion gotVersion = client.getCryptoKeyVersion(createdVersion.getName());
if (gotVersion.getState() == CryptoKeyVersionState.ENABLED) {
return gotVersion;
}
Thread.sleep(500 * i);
}
throw new TimeoutException("key version not ready in timeout");
}
}
use of com.google.cloud.kms.v1.KeyManagementServiceClient in project java-docs-samples by GoogleCloudPlatform.
the class SnippetsIT method createAsymmetricSignEcKey.
private static CryptoKey createAsymmetricSignEcKey(String keyId) throws IOException {
try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
CryptoKey key = CryptoKey.newBuilder().setPurpose(CryptoKeyPurpose.ASYMMETRIC_SIGN).setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().setAlgorithm(CryptoKeyVersionAlgorithm.EC_SIGN_P256_SHA256).build()).putLabels("foo", "bar").putLabels("zip", "zap").build();
CryptoKey createdKey = client.createCryptoKey(getKeyRingName(), keyId, key);
return createdKey;
}
}
use of com.google.cloud.kms.v1.KeyManagementServiceClient in project java-docs-samples by GoogleCloudPlatform.
the class SnippetsIT method createHsmKey.
private static CryptoKey createHsmKey(String keyId) throws IOException {
try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
CryptoKey key = CryptoKey.newBuilder().setPurpose(CryptoKeyPurpose.ENCRYPT_DECRYPT).setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().setAlgorithm(CryptoKeyVersionAlgorithm.GOOGLE_SYMMETRIC_ENCRYPTION).setProtectionLevel(ProtectionLevel.HSM).build()).putLabels("foo", "bar").putLabels("zip", "zap").build();
CryptoKey createdKey = client.createCryptoKey(getKeyRingName(), keyId, key);
return createdKey;
}
}
use of com.google.cloud.kms.v1.KeyManagementServiceClient in project java-docs-samples by GoogleCloudPlatform.
the class CreateKeyAsymmetricDecrypt method createKeyAsymmetricDecrypt.
// Create a new asymmetric key for the purpose of encrypting and decrypting
// data.
public void createKeyAsymmetricDecrypt(String projectId, String locationId, String keyRingId, String id) throws IOException {
// safely clean up any remaining background resources.
try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
// Build the parent name from the project, location, and key ring.
KeyRingName keyRingName = KeyRingName.of(projectId, locationId, keyRingId);
// Build the asymmetric key to create.
CryptoKey key = CryptoKey.newBuilder().setPurpose(CryptoKeyPurpose.ASYMMETRIC_DECRYPT).setVersionTemplate(CryptoKeyVersionTemplate.newBuilder().setAlgorithm(CryptoKeyVersionAlgorithm.RSA_DECRYPT_OAEP_2048_SHA256)).build();
// Create the key.
CryptoKey createdKey = client.createCryptoKey(keyRingName, id, key);
System.out.printf("Created asymmetric key %s%n", createdKey.getName());
}
}
Aggregations