gpt4 book ai didi

c# - 如何判断证书是否绑定(bind)端口?

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

我在一台机器上设置了一个 OWIN selfhost,我使用以下命令为特定端口注册了一个证书:

netsh http add sslcert ipport=0.0.0.0:8082 certhash=<cert_thumbprint_here> appid={00000000-0000-0000-0000-AABBCCDDEEFF}

我的 OWIN 主机为此 URL 启动:

using (WebApp.Start<OwinStartup>(url: https://my-pc:8082))
{
// do stuff
}

我想知道的是,是否可以使用 C# 确定证书是否绑定(bind)到此端口。基本上,我想检查我的应用程序是否已在用户的服务器上执行 netsh 命令,因为 OWIN 将在 https 上运行得很好,但没有人能够连接。

最佳答案

要确定绑定(bind)是否已完成,您需要检查该特定端口发生了什么。
为此,您需要在 CMD 中执行如下命令:

netstat -o -n -a | find /c "0.0.0.0:8082"

此命令将告诉您在特定 IP (0.0.0.0) 和端口 (8082) 上没有事件的套接字

这是您可以使用 C# 执行的 CMD,如下所示:

            try
{
var configProc = new ProcessStartInfo();
string cmdConfig = @"netstat -o -n -a | find /c "0.0.0.0:8082";
configProc.UseShellExecute = true;

configProc.WorkingDirectory = @"C:\Windows\System32";
configProc.FileName = @"C:\Windows\System32\cmd.exe";
configProc.Verb = "runas";
configProc.Arguments = "/c " + cmdConfig;
configProc.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(configProc);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}

关于c# - 如何判断证书是否绑定(bind)端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34300682/

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