【发布时间】:2018-02-10 02:36:43
【问题描述】:
我已将 X509 证书存储在 Azure KeyVault 中(在 Keys 下)。
当我使用keyVaultClient.GetKeyAsync(keyUrl) 时,它会返回一个带有 Keys 属性的 keyBundle。
Keys 属性有一个ToRSA() 函数。
从 RSA 对象,我能够创建一个 XML 字符串,但格式不是 PEM 格式的公钥,我可以在 X509Certificate2 构造函数中用作原始数据。
我在 .NET 框架中找不到从 RSA xml 创建 X509Certificate2 的任何方法。
我真的需要一个X509Certificate2 对象来加密一个封装的 Cms 对象。 CmsRecipient 在其构造函数中需要 X509Certificate。
有没有办法将RSA(非对称算法)转换为X509Certificate2 对象?
解决方法是将证书存储在 Secrets 下。然后密钥库 API 似乎给了我 X509Certificate 原始数据,但我只想存储相同的证书一次。我必须将它放在 Keys 下才能解包密钥(用于 Cms 对象解密)
【问题讨论】:
标签: .net encryption rsa x509certificate azure-keyvault