public static List<String> toStringList(List<CryptoKeyName> values) { List<String> list = new ArrayList<String>(values.size()); for (CryptoKeyName value : values) { if (value == null) { list.add(""); } else { list.add(value.toString()); } } return list; }
public static CryptoKeyName parse(String formattedString) { if (formattedString.isEmpty()) { return null; } Map<String, String> matchMap = PATH_TEMPLATE.validatedMatch( formattedString, "CryptoKeyName.parse: formattedString not in valid format"); return of( matchMap.get("project"), matchMap.get("location"), matchMap.get("key_ring"), matchMap.get("crypto_key")); }
public static KeyName parse(String resourceNameString) { if (KeyRingName.isParsableFrom(resourceNameString)) { return KeyRingName.parse(resourceNameString); } if (CryptoKeyName.isParsableFrom(resourceNameString)) { return CryptoKeyName.parse(resourceNameString); } return UntypedKeyName.parse(resourceNameString); } }
public static String format(String project, String location, String keyRing, String cryptoKey) { return newBuilder() .setProject(project) .setLocation(location) .setKeyRing(keyRing) .setCryptoKey(cryptoKey) .build() .toString(); }
@Test @SuppressWarnings("all") public void getCryptoKeyTest() { CryptoKeyName name2 = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); CryptoKey expectedResponse = CryptoKey.newBuilder().setName(name2.toString()).build(); mockKeyManagementService.addResponse(expectedResponse); CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); CryptoKey actualResponse = client.getCryptoKey(name); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); GetCryptoKeyRequest actualRequest = (GetCryptoKeyRequest) actualRequests.get(0); Assert.assertEquals(name, CryptoKeyName.parse(actualRequest.getName())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void updateCryptoKeyTest() { CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); CryptoKey expectedResponse = CryptoKey.newBuilder().setName(name.toString()).build(); mockKeyManagementService.addResponse(expectedResponse); CryptoKey cryptoKey = CryptoKey.newBuilder().build(); FieldMask updateMask = FieldMask.newBuilder().build(); CryptoKey actualResponse = client.updateCryptoKey(cryptoKey, updateMask); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); UpdateCryptoKeyRequest actualRequest = (UpdateCryptoKeyRequest) actualRequests.get(0); Assert.assertEquals(cryptoKey, actualRequest.getCryptoKey()); Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void decryptTest() { ByteString plaintext = ByteString.copyFromUtf8("-9"); DecryptResponse expectedResponse = DecryptResponse.newBuilder().setPlaintext(plaintext).build(); mockKeyManagementService.addResponse(expectedResponse); CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); ByteString ciphertext = ByteString.copyFromUtf8("-72"); DecryptResponse actualResponse = client.decrypt(name, ciphertext); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); DecryptRequest actualRequest = (DecryptRequest) actualRequests.get(0); Assert.assertEquals(name, CryptoKeyName.parse(actualRequest.getName())); Assert.assertEquals(ciphertext, actualRequest.getCiphertext()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
public static List<CryptoKeyName> parseList(List<String> formattedStrings) { List<CryptoKeyName> list = new ArrayList<>(formattedStrings.size()); for (String formattedString : formattedStrings) { list.add(parse(formattedString)); } return list; }
/** * Sets a version as the primary version for a crypto key. */ public static CryptoKey setPrimaryVersion(String projectId, String locationId, String keyRingId, String cryptoKeyId, String versionId) throws IOException { // Create the Cloud KMS client. try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) { // The resource name of the CryptoKey to update. String resourceName = CryptoKeyName.format(projectId, locationId, keyRingId, cryptoKeyId); // Update the primary CryptoKey version CryptoKey key = client.updateCryptoKeyPrimaryVersion(resourceName, versionId); return key; } }
public CryptoKeyName build() { return new CryptoKeyName(this); } }
public String getFieldValue(String fieldName) { return getFieldValuesMap().get(fieldName); }
@Test @SuppressWarnings("all") public void updateCryptoKeyPrimaryVersionTest() { CryptoKeyName name2 = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); CryptoKey expectedResponse = CryptoKey.newBuilder().setName(name2.toString()).build(); mockKeyManagementService.addResponse(expectedResponse); CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); String cryptoKeyVersionId = "cryptoKeyVersionId729489152"; CryptoKey actualResponse = client.updateCryptoKeyPrimaryVersion(name, cryptoKeyVersionId); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); UpdateCryptoKeyPrimaryVersionRequest actualRequest = (UpdateCryptoKeyPrimaryVersionRequest) actualRequests.get(0); Assert.assertEquals(name, CryptoKeyName.parse(actualRequest.getName())); Assert.assertEquals(cryptoKeyVersionId, actualRequest.getCryptoKeyVersionId()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void listCryptoKeyVersionsTest() { String nextPageToken = ""; int totalSize = 705419236; CryptoKeyVersion cryptoKeyVersionsElement = CryptoKeyVersion.newBuilder().build(); List<CryptoKeyVersion> cryptoKeyVersions = Arrays.asList(cryptoKeyVersionsElement); ListCryptoKeyVersionsResponse expectedResponse = ListCryptoKeyVersionsResponse.newBuilder() .setNextPageToken(nextPageToken) .setTotalSize(totalSize) .addAllCryptoKeyVersions(cryptoKeyVersions) .build(); mockKeyManagementService.addResponse(expectedResponse); CryptoKeyName parent = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); ListCryptoKeyVersionsPagedResponse pagedListResponse = client.listCryptoKeyVersions(parent); List<CryptoKeyVersion> resources = Lists.newArrayList(pagedListResponse.iterateAll()); Assert.assertEquals(1, resources.size()); Assert.assertEquals(expectedResponse.getCryptoKeyVersionsList().get(0), resources.get(0)); List<GeneratedMessageV3> actualRequests = mockKeyManagementService.getRequests(); Assert.assertEquals(1, actualRequests.size()); ListCryptoKeyVersionsRequest actualRequest = (ListCryptoKeyVersionsRequest) actualRequests.get(0); Assert.assertEquals(parent, CryptoKeyName.parse(actualRequest.getParent())); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
public static String format(String project, String location, String keyRing, String cryptoKey) { return newBuilder() .setProject(project) .setLocation(location) .setKeyRing(keyRing) .setCryptoKey(cryptoKey) .build() .toString(); }
public static List<CryptoKeyName> parseList(List<String> formattedStrings) { List<CryptoKeyName> list = new ArrayList<>(formattedStrings.size()); for (String formattedString : formattedStrings) { list.add(parse(formattedString)); } return list; }
/** * Encrypts the given plaintext using the specified crypto key. */ public static byte[] encrypt( String projectId, String locationId, String keyRingId, String cryptoKeyId, byte[] plaintext) throws IOException { // Create the KeyManagementServiceClient using try-with-resources to manage client cleanup. try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) { // The resource name of the cryptoKey String resourceName = CryptoKeyName.format(projectId, locationId, keyRingId, cryptoKeyId); // Encrypt the plaintext with Cloud KMS. EncryptResponse response = client.encrypt(resourceName, ByteString.copyFrom(plaintext)); // Extract the ciphertext from the response. return response.getCiphertext().toByteArray(); } } // [END kms_encrypt]
public CryptoKeyName build() { return new CryptoKeyName(this); } }
public String getFieldValue(String fieldName) { return getFieldValuesMap().get(fieldName); }
/** * Returns metadata for a given [CryptoKey][google.cloud.kms.v1.CryptoKey], as well as its * [primary][google.cloud.kms.v1.CryptoKey.primary] * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]. * * <p>Sample code: * * <pre><code> * try (KeyManagementServiceClient keyManagementServiceClient = KeyManagementServiceClient.create()) { * CryptoKeyName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]"); * CryptoKey response = keyManagementServiceClient.getCryptoKey(name); * } * </code></pre> * * @param name The [name][google.cloud.kms.v1.CryptoKey.name] of the * [CryptoKey][google.cloud.kms.v1.CryptoKey] to get. * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final CryptoKey getCryptoKey(CryptoKeyName name) { GetCryptoKeyRequest request = GetCryptoKeyRequest.newBuilder().setName(name == null ? null : name.toString()).build(); return getCryptoKey(request); }