我编写的应用程序必须从用户获取私钥,然后将其作为base64发送到另一个应用程序,我想允许用户使用私钥插入X509Certificate2。 现在我的主要问题是如何将私有密钥从AsimetricAlgorithm对象转换为包含所有私钥的bate数组? 我看到我可以使用openSSl - 将所有证书转换为pem文件,然后转换为RSA文件 - 并读取私钥,但我不想使用它因为:我不想使用文件,3P库,它不是安全等等.. 有没有人知道另一种方法呢?
提前感谢!
答案 0 :(得分:2)
您从AsymmetricAlgorithm
的{{1}}属性获得的PrivateKey
对象实际上是来自X509Certificate2
的各种类型之一的实例,例如{ {1}},AsymmetricAlgorithm
等......
您需要确定要处理的私钥类型,并适当地进行转换。投射后,您应该可以致电RSACryptoServiceProvider
获取私钥数据。
示例(假设RSA密钥):
DSACryptoServiceProvider