gpt4 book ai didi

.net - 与证书战斗 : Access was not successfully obtained for the private key

转载 作者:行者123 更新时间:2023-12-04 22:37:00 28 4
gpt4 key购买 nike

我与许多服务器和开发人员的 PC 一起工作。服务器是win2003,PC开发者Windows XP。

在名为 preiis01 的服务器 Win2003 中,在预生产环境中,公司中的其他人使用任何其他用户(对我来说是未知用户)安装客户端证书以登录服务器 preiis01。

我使用我的用户“domainCompany\myuser”登录服务器 preiis01(使用终端服务器,Windows XP 的远程桌面)。

在 preiis01 中,

我执行 mmc -> Snap in -> 本地机器证书。在节点 -> 个人 -> 证书中,我看到了客户端证书:

发给
ENTIDAD COMPANY INSURE SA - CIF A93 - NOMBRE SURNAME1 NAME1

由...发出
FNMT 第 2 类 CA

在证书属性中,我看到了指纹:“93 bc a4 ad 58 c9 3c af 8b eb 0b 2f 86 c7 9d 81 70 a6 c4 13”

现在,我执行以下命令:

1.) FindPrivateKey My LocalMachine -n​​ "CN=ENTIDAD COMPANY INSURE SA - CIF A93 - NOMBRE SURNAME1 NAME1"-a

我得到这个错误:

FindPrivateKey 失败的原因如下:
没有 key 为“CN=ENTIDAD COMPANY INSURE SA - CIF A93 - NOMBRE SURNAME1 NAME1”的证书
'在商店里找到。

2.) FindPrivateKey My LocalMachine -t "93 bc a4 ad 58 c9 3c af 8b eb 0b 2f 86 c7 9d 81 70 a6 c4 13"–c

我明白了:

*FindPrivateKey 帮助用户找到 X.50 的私钥文件的位置
9 证书。

用法:FindPrivateKey [{ {-n } | {-t } } [-f | -d | -一种]]

   <subjectName> subject name of the certificate

<thumbprint> thumbprint of the certificate (use certmgr.exe to get it)

-f output file name only

-d output directory only

-a output absolute file name

例如FindPrivateKey 我的 CurrentUser -n "CN=John Doe"

例如FindPrivateKey 我的 LocalMachine -t "03 33 98 63 d0 47 e7 48 71 33 62 64 76 5
c 4c 9d 42 1d 6b 52"-c*

3.) winhttpcertcfg.exe -l -c LOCAL_MACHINE\My -s "ENTIDAD COMPANY INSURE SA - CIF A93 - NOMBRE SURNAME1 NAME1"

我得到这个错误:

Microsoft (R) WinHTTP Certificate Configuration Tool Copyright (C) Microsoft Corporation 2001. Matching certificate:

CN=ENTIDAD COMPANY INSURE SA - CIF A93 - NOMBRE SURNAME1 NAME1

OU=700012436

OU=FNMT Clase 2 CA

O=FNMT

C=ES

Error:

Access was not successfully obtained for the private key. This can only be done by the user who installed the certificate.



未成功获取私钥的访问权限。

有什么建议么 ??

更新:Marcel Roma(社交 msdn 论坛)

该证书很可能是由您公司中的其他人(例如管理员)安装的。只有该人有权访问证书的私钥。下载FindPrivateKey工具,让管理员执行找到保存私钥文件的目录,并让他设置所需的权限,以便进程可以访问该文件。

还有一些关于 Windows XP 由于编码问题而无法从文件中提取私钥的报告:

http://blogs.msdn.com/b/alejacma/archive/2010/01/11/winhttpcertcfg-tool-cannot-access-private-key-of-a-certificate.aspx

更新:

域“domainCompany\Pre_Certificado”中的用户在存储本地计算机中安装证书。

domainCompany\Pre_Certificado 是管理员,在 IIS_WPG 组中,具有本地策略:“作为服务登录”

我在 IIS 6.0 中配置 AppPool Identity 为:domainCompany\Pre_Certificado

ASP.NET 应用程序使用身份执行::domainCompany\Pre_Certificado

我回收 AppPool 并执行应用程序,我得到 System.Security.Cryptography.CryptographicException:找不到用于解密的证书和私钥

如果我再次测试,在服务器 IIS 中登录 session ,使用 domainCompany\Pre_Certificado 用户,我在 ASP.NET 应用程序中调用页面,一切正常。

(注意:使用终端服务器登录服务器 IIS)

但是如果在服务器 IIS 中注销 session (用户:domainCompany\Pre_Certificado),我会得到同样的错误:

System.Security.Cryptography.CryptographicException:找不到用于解密的证书和私钥

有什么建议么 ??

最佳答案

以安装证书的用户(或本地管理员)身份登录。启动 FindPrivateKey 工具。转到安全 Pane 并将您自己的用户添加到列表中。您现在可以以自己的身份登录并控制证书的私钥。

关于.net - 与证书战斗 : Access was not successfully obtained for the private key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3905539/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com