Esempio n. 1
0
        public static AsymmetricDecryptResponse Unmarshall(UnmarshallerContext context)
        {
            AsymmetricDecryptResponse asymmetricDecryptResponse = new AsymmetricDecryptResponse();

            asymmetricDecryptResponse.HttpResponse = context.HttpResponse;
            asymmetricDecryptResponse.Plaintext    = context.StringValue("AsymmetricDecrypt.Plaintext");
            asymmetricDecryptResponse.KeyId        = context.StringValue("AsymmetricDecrypt.KeyId");
            asymmetricDecryptResponse.RequestId    = context.StringValue("AsymmetricDecrypt.RequestId");
            asymmetricDecryptResponse.KeyVersionId = context.StringValue("AsymmetricDecrypt.KeyVersionId");

            return(asymmetricDecryptResponse);
        }
Esempio n. 2
0
    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));
    }