public void EncryptsData() { var message = "testing1234"; // Run the sample code. var ciphertext = _sample.EncryptAsymmetric( projectId: _fixture.ProjectId, locationId: _fixture.LocationId, keyRingId: _fixture.KeyRingId, keyId: _fixture.AsymmetricDecryptKeyId, keyVersionId: "1", message: message); // Decrypt result. KeyManagementServiceClient client = KeyManagementServiceClient.Create(); CryptoKeyVersionName keyVersionName = new CryptoKeyVersionName(_fixture.ProjectId, _fixture.LocationId, _fixture.KeyRingId, _fixture.AsymmetricDecryptKeyId, "1"); var result = client.AsymmetricDecrypt(keyVersionName, ByteString.CopyFrom(ciphertext)); Assert.Equal(message, result.Plaintext.ToStringUtf8()); }
public string DecryptAsymmetric( string projectId = "my-project", string locationId = "us-east1", string keyRingId = "my-key-ring", string keyId = "my-key", string keyVersionId = "123", byte[] ciphertext = null) { // Create the client. KeyManagementServiceClient client = KeyManagementServiceClient.Create(); // Build the key version name. CryptoKeyVersionName keyVersionName = new CryptoKeyVersionName(projectId, locationId, keyRingId, keyId, keyVersionId); // Call the API. AsymmetricDecryptResponse result = client.AsymmetricDecrypt(keyVersionName, ByteString.CopyFrom(ciphertext)); // Get the plaintext. Cryptographic plaintexts and ciphertexts are // always byte arrays. byte[] plaintext = result.Plaintext.ToByteArray(); // Return the result. return(Encoding.UTF8.GetString(plaintext)); }