首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#安装pfx文件似乎与手动安装有所不同

使用C#安装pfx文件似乎与手动安装有所不同
EN

Stack Overflow用户
提问于 2015-10-26 23:55:42
回答 1查看 229关注 0票数 1

我有一个安装pfx文件的c#程序(代码如下)

代码语言:javascript
复制
X509Certificate2 cert;
        cert = new X509Certificate2(@"myCert.pfx", "password");

        if (cert != null)
        {
            var store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadWrite);
            if (!store.Certificates.Contains(cert))
            {
                store.Add(cert);
            }
        }

当我在管理控制台中查看证书时,这似乎将证书添加到了正确的位置。然而,我在c#中有一个websocket服务器,它会将它从存储中挑选出来,并将其用于与浏览器的ssl连接,但是浏览器都会失败,因为没有对证书进行身份验证。

但是,如果我手动安装它(单击证书)并将其安装到相同的位置,则一切正常。

注意:它是自签名的

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2015-10-27 00:01:06

如果证书是自签名的,您也必须将其用于HTTPS页面,该页面包含连接到websocket的javascript代码,因此浏览器可以提示您接受证书。

您可以使用以下命令检索证书:

代码语言:javascript
复制
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
var certificate = store.Certificates[1];
store.Close();

然后将其用于您的WebSocket服务器。我不知道您使用的是哪个.NET WebSocket服务器,但是in WebSocketListener is done this way

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33350155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档