Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在更改端口wss时保留SSL的通用名称_C#_Ssl_Websocket_Ssl Certificate_Pfx - Fatal编程技术网

C# 如何在更改端口wss时保留SSL的通用名称

C# 如何在更改端口wss时保留SSL的通用名称,c#,ssl,websocket,ssl-certificate,pfx,C#,Ssl,Websocket,Ssl Certificate,Pfx,我这里有个问题。我创建了一个需要在浏览器和桌面应用程序之间进行交互的windows应用程序。在桌面应用程序中,我加入了[Dave]()制作的WebSocketSecure 我有一个有效的pfx文件。在使用默认端口(443)时,一切都运行平稳。URL显示SSL的CN。然后,当我更改设置时,我的窗口应用程序必须使用默认端口(443)以外的其他端口,它不是按照SSL的CN运行,而是按照localhost:portnum运行。如何使其在443以外的端口中使用CN运行?请帮忙。我会尽力回答这个问题 我检查

我这里有个问题。我创建了一个需要在浏览器和桌面应用程序之间进行交互的windows应用程序。在桌面应用程序中,我加入了[Dave]()制作的
WebSocket
Secure


我有一个有效的pfx文件。在使用默认端口(443)时,一切都运行平稳。URL显示SSL的CN。然后,当我更改设置时,我的窗口应用程序必须使用默认端口(443)以外的其他端口,它不是按照SSL的CN运行,而是按照
localhost:portnum
运行。如何使其在443以外的端口中使用CN运行?请帮忙。

我会尽力回答这个问题

我检查了您粘贴的链接,发现了以下代码段:

private static void Main(string[] args){

IWebSocketLogger logger = new WebSocketLogger();

try
{
    string webRoot = Settings.Default.WebRoot;
    int port = Settings.Default.Port;

    // used to decide what to do with incoming connections
    ServiceFactory serviceFactory = new ServiceFactory(webRoot, logger);

    using (WebServer server = new WebServer(serviceFactory, logger))
    {
        server.Listen(port);
        Thread clientThread = new Thread(new ParameterizedThreadStart(TestClient));
        clientThread.IsBackground = false;
        clientThread.Start(logger);
        Console.ReadKey();
    }
}
catch (Exception ex)
{
    logger.Error(null, ex);
    Console.ReadKey();
}
}
在try块中有以下代码行:

int port = Settings.Default.Port;

可能尝试将其设置为自动分配端口可以解决您的问题。

端口号和主机在这行代码中:string handshakeHttpRequest=string.Format(handshakeHttpRequestTemplate,uri.PathAndQuery,uri.host,uri.port,secWebSocketKey)@我已经换了端口了。websocket已经打开,我可以访问项目中的html页面。只是url没有显示CN名称。假设我使用443端口,它显示abc.abcde.com,如果我使用其他端口,比如48025,它显示localhost:48025。如何将localhost:48025更改回abc.abcde.com?服务器可能正在重定向到localhost。我将删除Settings类,现在由于它是一个常量值,我硬编码了所有内容。就在我使用默认的433时,页面上显示了受信任的证书,url显示为abc.abcde.com。当我使用自定义端口时,证书不受信任,我已失去访问abc.abcde.com的权限。我必须去本地主机:48025。默认端口和其他端口之间有什么区别吗?请帮助meSo,为了弄清楚这一点,您的证书在任何其他端口上都不能工作,而不是默认端口?你是否得到了错误“你的连接不是私有的”,如果是这种情况,看看这个:和这个:我想这可能是唯一的解决办法。没关系,我会使用默认端口。这个问题太难解决/想不起来,所以我会让它过去的。谢谢你抽出时间。不用担心,我很高兴我帮了一点忙!