用户帐户无权访问客户端证书的私钥

问题描述 投票:0回答:1

我有一个场景,我在代码中使用证书来触发操作。将证书导入到本地计算机并运行 C# 代码后,它会引发私钥访问问题,并显示错误“用户帐户无法访问客户端证书的私钥”。有什么指针可以解决问题或可以让我调试问题吗?

我做了什么: 运行-certlm.msc 个人-证书-所有任务-导入 - 本地计算机 - 浏览我的 .cer 文件

我尝试解决的问题(但无法解决): 运行-certlm.msc 个人-证书-我的证书-右键-所有任务-管理私钥-添加完全控制的“网络服务”。 我尝试添加我的邮件 ID 或用户名,但不允许添加。

错误: System.InvalidOperationException:“用户帐户无权访问客户端证书的私钥”

配置:

<system.serviceModel>
        <behaviors>
            <endpointBehaviors>
                <behavior name="ClientBehavior">
                    <clientCredentials>
                        <clientCertificate findValue="xxxx-correct thumbprint-xxxxxxx" storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" />  
                    </clientCredentials>
                </behavior>
            </endpointBehaviors>
        </behaviors>
</system.serviceModel>
c# ssl-certificate x509certificate mmc
1个回答
6
投票

出现问题的原因可能有多种选择。

你可以尝试:

将用户帐户添加到本地计算机的证书存储中。要将用户帐户添加到本地计算机证书存储区,请使用命令: certutil -user -addstore "My" "C:\Users\username\Document

© www.soinside.com 2019 - 2024. All rights reserved.