从操作系统获取的数字证书,通过x509到底能不能得到私key? 我研究了一下下,发现数字证书类型不同得到的东西也不同,有的类型的证书能获取到公key和私key,有的就只能获取到公key. 还有的复合型证书,就是多用途的那种,也是只能获取到公key. 可是获取不到私key就没法解密东西呀,不知道大家都是怎么获取到私key的.
解决方案 »
- C# 字节数组的合并、取子数组操作。哪种写法的性能最好?
- 带数据库的winform发布运行不了~~~
- StreamWrite是不是只能对 文本文件进行写操作??
- 为什么replace无法替换(在线等)
- 如何在1024*768的分辨率下完整显示3084*958大小的窗体。十万火急。。。
- 全部家当100分求教 如何让网上的用户听我的机子上的音乐文件?
- 求高手一个关于文件夹复制的问题
- 在线等待:DateTimePicker控件如何向access表中添加日期?
- 请问这个SQL语句怎么写啊
- 大家帮我看看用jmail发邮件为什么出错呢?
- 问一下关于treeview的问题,急!
- 谁会用webservice读取列表库啊?给个例子,谢谢!
签名私钥通常是由加密设备产生,比如USBKEY,在产生证书的时候就会在USBKEY里边的芯片产生一个签名私钥和一个签名公钥,签名公钥导出以后传输到CA制作签名证书,而签名公钥在USBKEY里边是取不出来的,这样才保证签名的唯一性和不可否认性。
加密私钥一般由CA的KMC(密钥管理中心)产生,如果放到证书里那么就是可以导出,如果没放到证书里就不能导出,如果你要本机解密,可以发证书的时候发成P12文件(包含公钥和私钥),导入系统以后证书库里的证书就包含私钥,用CSP的函数或者C#的对应类方法可以解密。不对称的密钥体系本来就是为了保护信息传输的。就是说甲有乙的公钥,加密以后发给有私钥的乙解密,至于私钥怎么分发,要看具体业务需求来制定密钥分发策略。