如何使用来自 azure.security.keyvault 的新 keyvault 客户端进行签名
How to sign using new keyvault client from azure.security.keyvault
我最近开始用 Azure.Security.KeyVault
中的新客户端替换 Microsoft.Azure.KeyVault
命名空间中的旧 Azure KeyVault 客户端。
这在获取机密和证书时没有任何问题,但我不确定如何签名了
如何使用新的 keyvault 客户端进行签名?
您是否检查了 github 上的 Azure SDK Azure.Security.KeyVault.Keys 包?
来自该来源的示例代码:
SignResult rsaSignDataResult = rsaCryptoClient.SignData(SignatureAlgorithm.RS256, data);
Debug.WriteLine($"Signed data using the algorithm {rsaSignDataResult.Algorithm}, with key {rsaSignDataResult.KeyId}. The resulting signature is {Convert.ToBase64String(rsaSignDataResult.Signature)}");
对于 Azure Key Vault,我们需要create a signature使用指定的密钥从摘要。
因此,您可以参考以下代码对任意数据进行签名,并使用我们创建的 EC 和 RSA 密钥使用 CryptographyClient 验证签名。
byte[] digest = null;
using (HashAlgorithm hashAlgo = SHA256.Create())
{
digest = hashAlgo.ComputeHash(data);
}
SignResult rsaSignResult = rsaCryptoClient.Sign(SignatureAlgorithm.RS256, digest);
如果你想签署证书,你可以参考这个article。
我最近开始用 Azure.Security.KeyVault
中的新客户端替换 Microsoft.Azure.KeyVault
命名空间中的旧 Azure KeyVault 客户端。
这在获取机密和证书时没有任何问题,但我不确定如何签名了
如何使用新的 keyvault 客户端进行签名?
您是否检查了 github 上的 Azure SDK Azure.Security.KeyVault.Keys 包?
来自该来源的示例代码:
SignResult rsaSignDataResult = rsaCryptoClient.SignData(SignatureAlgorithm.RS256, data);
Debug.WriteLine($"Signed data using the algorithm {rsaSignDataResult.Algorithm}, with key {rsaSignDataResult.KeyId}. The resulting signature is {Convert.ToBase64String(rsaSignDataResult.Signature)}");
对于 Azure Key Vault,我们需要create a signature使用指定的密钥从摘要。
因此,您可以参考以下代码对任意数据进行签名,并使用我们创建的 EC 和 RSA 密钥使用 CryptographyClient 验证签名。
byte[] digest = null;
using (HashAlgorithm hashAlgo = SHA256.Create())
{
digest = hashAlgo.ComputeHash(data);
}
SignResult rsaSignResult = rsaCryptoClient.Sign(SignatureAlgorithm.RS256, digest);
如果你想签署证书,你可以参考这个article。