java获取pfx证书私钥_从PFX文件中读取私钥
我知道,有很多关于此的帖子,但我仍然无法找到解决方案来实现这一点 . 我在我的机器上生成了一个带有 openssl 的PFX文件,如下所示:
openssl x509 -req -days 365 -in "myReqest.csr" -signkey "myPrivateKey.pem" -out "myCertificate.crt"
openssl pkcs12 -export -out "myCertificate.pfx" -inkey "myPrivateKey.pem" -in "myCertificate.crt" -certfile "myCertificate.crt"
在我的C#应用程序中,我像这样访问私钥:
var cert = new X509Certificate2("myCertificate.pfx", "myPassword");
cert.HasPrivateKey; // This is always true!
cert.PrivateKey; // Works on my machine (only)
这完全正常(在我的机器上),但是当我在另一台机器上运行相同的代码时,它会抛出: "Key set not found" ,即使 HasPrivateKey 返回 true !私钥不应该包含在* .pfx文件中吗?你能告诉我吗:
创建时,openssl是否以某种方式自动在我的机器上安装了证书/私钥?
如何从* .PFX文件中读取私钥(或者从* .PEM文件中读取)?
StackTrace异常:
at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContaier)
at System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContaier, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
at System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair()
at System.Security.Cryptography.RSACryptoServiceProvider..ctor(Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize)
at System.Security.Cryptography.RSACryptoServiceProvider..ctor(CspParameters parameter)
at System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey()
Update:
我发现,以下确实有效:
// on my machine
// read certificate from file (exportable!)
X509Certificate2 cert = new X509Certificate2("filename.pfx", "password", X509KeyStorageFlags.Exportable)
// sign data etc.
((RSACryptoServiceProvider)cert.PrivateKey).SignData(...
// export private key to XML-file
File.WriteAllText("filename.xml", cert.PrivateKey.ToXmlString(true));
// on the other machine
// create new RSA object
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
// import private key from xml
rsa.FromXmlString(File.ReadAllText("filename.xml"));
// verify data etc.
rsa.VerifyData(...
但是,对我来说,这只是一种解决方法,我想以更传统/标准的方式做到这一点!
java获取pfx证书私钥_从PFX文件中读取私钥相关推荐
- java object取数据_java使用ObjectInputStream从文件中读取对象
import java.io.EOFException; import java.io.FileInputStream; import java.io.FileNotFoundException; i ...
- python获取剪切板内容_如何从python中读取(windows)剪贴板中的文本?
如何从python中读取(windows)剪贴板中的文本? 如何从python中读取(windows)剪贴板中的文本? Foo42 asked 2019-06-22T21:38:33Z 10个解决方案 ...
- java 获取cer证书指纹_获取SSL证书的指纹
每一张SSL证书都有指纹(fingerprint)信息,若要获取,可以通过openssl或者certutil工具,分别在非Windows和Windows平台下使用 基本语法:openssl x509 ...
- java 获取端口号错误_尝试访问SPYDER中的pyspark时,获取错误“异常:Java网关进程在向驱动程序发送其端口号之前已退出”...
我想通过Spyder运行Pypark 这是完整的错误:Traceback (most recent call last): File "", line 1, in sc = Spa ...
- java 获取excel最后一行_查找Excel电子表格中的最后一行
确切知道的唯一方法是测试行 . 这是我用于同一问题的解决方案: int lastRowIndex = -1; if( sheet.getPhysicalNumberOfRows() > 0 ) ...
- java获取web.xml 参数_解析web.xml中在Servlet中获取context-param和init-param内的参数
web.xml里面可以定义两种参数:1.application范围内的参数,存放在servletcontext中,在web.xml中配置如下: context/param avalible durin ...
- c#获取ssl证书有效性_如何在c#中获取远程服务器的SSL证书信息
我尝试使用以下它工作正常: string strDNSEntry是您需要SSL的DNS public X509Certificate2 DownloadSslCertificate(string st ...
- Java去除PDF换行符_删除FASTA文件中的换行符
我有一个fasta文件,用换行符分解序列 . 我想删除换行符 . 这是我的文件的一个例子: >accession1 ATGGCCCATG GGATCCTAGC >accession2 GA ...
- java获取数据库数据保存到本地txt文件中
首先是Services @Service public class logServiceimpl implements logService {@Autowired@Qualifier("p ...
- c语言结构体数组存入文件_关于从文件中读取数据并写入结构体数组
已结贴√ 问题点数:25 回复次数:10 关于从文件中读取数据并写入结构体数组 各位大大好,本人新手一枚,最近写简单的通讯录的c程序,其他功能完好,最后一个将txt文件中的数据写入结构体数组的函数无法 ...
最新文章
- 【BZOJ 4555】[Tjoi2016Heoi2016]求和 多项式求逆/NTT+第二类斯特林数
- ftp服务器不能双向传输文件,实现文件双向传输搭建FTP服务器
- 作文 —— 诙谐、幽默、调侃、批判
- Android解析WindowManagerService(三)Window的删除过程
- python 包管理和virturlenv
- 你遇到的面试官是「伯乐」吗?
- 天下第一 txdy (LCT+双指针+线段树)
- c语言switch同时比较多个变量,C语言学习if和switch分支选择结构
- Linux awk命令使用方法
- Python_目录的简单操作(新建/查看/删除)
- 服务器内存条故障显示器,客户的电脑原故障是不开机,现在又变成蓝屏:变着法加钱就搞鬼...
- Warning: Binary output can mess up your terminal. Use “--output -“ to tell
- java继承小程序_Java小程序---接口中抽象方法的实现(解决了JAVA语言不能多继承的问题)...
- Centos7下编译安装Nginx、Mysql、PHP(文章底部包含一键安装脚本)
- lego ev3 c语言编程,乐高 EV3 高级编程 – 第一课:安装
- Axure RP9使用指南
- 共享打印机时,出现无法访问,你可能没有权限使用网络资源“
- 证券行业智慧化转型思考
- 一招解决python pip install 安装库失败
- 【OpenCV学习】第6课:图像模糊(中值滤波,高斯双边滤波)
热门文章
- verilog latch
- 《京东话费充值系统架构演进实践》--阅读
- 奋斗的小孩系列 FPGA学习altera系列: 第一篇 软件的安装与破解
- 连接服务器没有发挥作用,iPhone“连到系统上的设备没有发挥作用”原因分析及解决方法...
- 营业执照注册号是不是统一社会信用代码?
- 如何优雅地删除Redis大键
- JAVA-day09-多线程
- 支付宝当面付_小小的支付完成页上,微信和支付宝“打起来了”
- Altium Designer19 多层板设计教程
- TCR+fc型svc无功补偿仿真模型有详细资料