17
|
albertjan jakaria manik · 技术社区 · 14 年前 |
![]() |
1
11
我遇到了完全相同的问题,解决方法非常简单。 我要做的就是通过考试
X509Certificate2的ctor。 ).
我希望这有帮助。 |
![]() |
2
10
http://support.microsoft.com/kb/950090
此外,我发现保存私钥不好
如果您确实需要在机器密钥存储上保存私钥,那么您至少应该保护该密钥,以便只对某些选定的用户进行读取,而不是对所有人进行读取。密钥容器只是文件系统中的一个文件(请参阅目录“%ALLUSERSPROFILE%\Microsoft\Crypto\Keys”中的文件),它与NTFS中的其他文件一样具有安全描述符。更改可以使用的文件的安全描述符
更新 :首先很抱歉回答得太长。
your program code
根证书.pfx
文件。在第二部分中,您导入证书,但使用
MakeCert.exe 来自Windows SDK的实用程序。你可以像下面这样做
然后,您可以导出证书管理单元(例如)的带或不带私钥的证书mmc.exe文件). 在上面的例子中,我没有对一些特殊的EKU限制CA,所以您可以不受任何限制地使用它,但是如果您确实需要限制,您可以向它添加额外的参数 生成证书.exe 在我看来,证书的创建实际上是代码的一个独立部分。你的主要问题在第二部分。
CertMgr.exe-添加-c约-s-r本地计算机AuthRoot
以下内容:
一般来说,在.NET代码中导入证书看起来有点奇怪,并没有显示将在后台执行的操作。Windows只知道
Key Containers
其中私钥(确切地说是密钥对)将被保存在CSP和
Certificate Stores
保存证书的位置(请参阅
http://msdn.microsoft.com/en-us/library/bb204781.aspx
关于商店的位置)。为了能够在证书存储中保存有关密钥容器的信息,微软引入了这样的名称
Certificate Extended Properties
. 如果在的.NET属性中使用
|
|
3
2
|
![]() |
4
0
|
|
5
0
通常根目录中的证书没有私钥可管理。如果您在web请求中关联密钥,则应导入到“我的文件夹”。我有TLS/SSl异常,其中我有客户端证书链。如果您将所有证书链存储在我的存储中,那么我就消除了该异常。问题出在用户帐户上。用于存储证书的实用程序使用当前用户帐户,实际应用程序在系统帐户上运行。 |
![]() |
6
0
使用机器存储 选项需要传递给 CSP提供程序标志 这反过来又会传递给 密码机密钥集 X509型keystrageFlags.PersistKeySet 和 和
解决方案:在将证书导入个人计算机存储之前,将证书添加到受信任的根目录。
In reading the logs from CAPI2
注意:我发现如果使用的证书 不 已经有主题密钥标识符。不知何故,当您触发api以实际生成SKI而不是将其交给时,它会触发将magic CRYPT\u MACHINE\u KEYSET标志传递给advapi32的条件。 |
![]() |
Tom · 正在从Azure KeyVault加载X509证书 7 年前 |
![]() |
iliyan tanev · 以编程方式加载pfx文件时出现问题 7 年前 |
![]() |
ramtech · Vertx和Java中CRL的证书撤销处理 7 年前 |