如何判断证书是否绑定端口?
How to determine if binding of certificate to port has been done?
我在一台机器上设置了一个 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# 确定证书是否绑定到此端口。基本上,我想检查我的应用程序是否已在用户的服务器上执行了 netsh 命令,因为 OWIN 运行 在 https 上会很好,但没有人能够连接。
要确定绑定是否已完成,您需要检查该特定端口发生了什么。
为此,您需要在 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);
}
我在一台机器上设置了一个 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# 确定证书是否绑定到此端口。基本上,我想检查我的应用程序是否已在用户的服务器上执行了 netsh 命令,因为 OWIN 运行 在 https 上会很好,但没有人能够连接。
要确定绑定是否已完成,您需要检查该特定端口发生了什么。
为此,您需要在 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);
}