gpt4 book ai didi

c# - SslStream AuthenticateAsServer 无法识别提供给包的凭据

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:31 24 4
gpt4 key购买 nike

使用 c# 通过 SSL 与 SslStream 进行通信。我正在使用自己生成的证书并导入到带有 certlm.msc 的 Windows 证书存储中。我在 SslStream.AuthenticateAsServer() 上收到以下异常“无法识别提供给包的凭据”。

它似乎工作了一会儿,但随后就停止了。这真令人沮丧。我在这里阅读了很多文章,但没有找到我需要重新创建证书并导入它们的解决方案。我创建了这样的证书:

  1. 创建了一个 CA:

    "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\makecert.exe" ^ -n "CN=CARoot" -r -pe -a sha512 -len 4096 -cy authority -sv CARoot.pvk ^ -ss -sr CARoot.cer

    "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\pvk2pfx.exe" ^ -pvk CARoot.pvk -spc CARoot.cer -pfx CARoot.pfx -po Test123

  2. 创建服务器证书:

    "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\makecert.exe" ^ -n "CN=%1" -iv CARoot.pvk -ic CARoot.cer -pe -a sha512 -len 4096 ^ -sky exchange -eku 1.3.6.1.5.5.7.3.1 -sv SslServer.pvk SslServer.cer

    "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\pvk2pfx.exe" ^ -pvk SslServer.pvk -spc SslServer.cer -pfx SslServer.pfx ^ -po Test123

  3. 创建客户端证书:

    "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\makecert.exe" ^ -n "CN=%1" -iv CARoot.pvk -ic CARoot.cer -pe -a sha512 ^ -len 4096 -sky exchange -eku 1.3.6.1.5.5.7.3.2 -sv SslClient.pvk ^ SslClient.cer

    "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\pvk2pfx.exe" ^ -pvk SslClient.pvk -spc SslClient.cer -pfx SslClient.pfx -po Test123

我基本上使用的是来自 MSDN 的示例代码,我将 SslServer 和 SslClient 都放在我的 lmhosts 文件中以便它们解析。

注意 - 在证书管理器中,当我点击它们时,他们会说“您有一个与该证书相对应的私钥”。

最佳答案

我想我明白了。这是一个权限问题,我正在将它们导入 localMachine 证书管理器 (certlm.msc),并且在我重新启动机器后它不起作用,除非我以管理员身份运行我的应用程序。从那里删除并使用 currentUser Cert Man (certmgr.msc) 安装。

注意 - 我制作证书的方式也略有不同,不确定这是否重要:

    makecert -ic CARoot.cer -iv CARoot.pvk -n "CN=SslServer2" -sv SslServer2.pvk -pe -sky exchange SslServer2.cer

cert2spc SslServer2.cer SslServer2.spc

pvk2pfx -pvk SslServer2.pvk -spc SslServer2.spc -pfx SslServer2.pfx -f

关于c# - SslStream AuthenticateAsServer 无法识别提供给包的凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37710612/

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