示例#1
0
    public CryptoKey CreateSymmetricKey(string keyId)
    {
        KeyManagementServiceClient client = KeyManagementServiceClient.Create();

        var request = new CreateCryptoKeyRequest
        {
            ParentAsKeyRingName = KeyRingName,
            CryptoKeyId         = keyId,
            CryptoKey           = new CryptoKey
            {
                Purpose         = CryptoKey.Types.CryptoKeyPurpose.EncryptDecrypt,
                VersionTemplate = new CryptoKeyVersionTemplate
                {
                    Algorithm = CryptoKeyVersion.Types.CryptoKeyVersionAlgorithm.GoogleSymmetricEncryption,
                },
            },
        };

        request.CryptoKey.Labels["foo"] = "bar";
        request.CryptoKey.Labels["zip"] = "zap";

        return(client.CreateCryptoKey(request));
    }
示例#2
0
    public CryptoKey CreateAsymmetricSignRsaKey(string keyId)
    {
        KeyManagementServiceClient client = KeyManagementServiceClient.Create();

        var request = new CreateCryptoKeyRequest
        {
            ParentAsKeyRingName = KeyRingName,
            CryptoKeyId         = keyId,
            CryptoKey           = new CryptoKey
            {
                Purpose         = CryptoKey.Types.CryptoKeyPurpose.AsymmetricSign,
                VersionTemplate = new CryptoKeyVersionTemplate
                {
                    Algorithm = CryptoKeyVersion.Types.CryptoKeyVersionAlgorithm.RsaSignPss2048Sha256,
                },
            },
        };

        request.CryptoKey.Labels["foo"] = "bar";
        request.CryptoKey.Labels["zip"] = "zap";

        return(client.CreateCryptoKey(request));
    }
示例#3
0
    public CryptoKey CreateMacKey(string keyId)
    {
        KeyManagementServiceClient client = KeyManagementServiceClient.Create();

        var request = new CreateCryptoKeyRequest
        {
            ParentAsKeyRingName = KeyRingName,
            CryptoKeyId         = keyId,
            CryptoKey           = new CryptoKey
            {
                Purpose         = CryptoKey.Types.CryptoKeyPurpose.Mac,
                VersionTemplate = new CryptoKeyVersionTemplate
                {
                    Algorithm       = CryptoKeyVersion.Types.CryptoKeyVersionAlgorithm.HmacSha256,
                    ProtectionLevel = ProtectionLevel.Hsm,
                },
            },
        };

        request.CryptoKey.Labels["foo"] = "bar";
        request.CryptoKey.Labels["zip"] = "zap";

        return(client.CreateCryptoKey(request));
    }