我的C#.net应用程序正在使用HTTPS Web服务.由于证书现在即将到期,我正在尝试使用我已经给出的新版本更新它(我使用javasdks的keytool转换为.p12的.jks文件).我认为这很容易,因为我知道该怎么做,但它不会合作.
到目前为止我做了什么:
使用findprivatekey工具,我还找到了实际的密钥文件,并给出了apppoolidentity访问权限.(无奈之下).
C:\ Program Files(x86)\ Windows资源工具包\工具> winhttpcertcfg -l -c LOCAL_MACHINE\My -s"9000 - Blabla"Microsoft(R)WinHTTP证书配置工具版权所有(C)Microsoft Corporation 2001.
匹配证书:CN = 9000 - Blabla C = NO L ="c/o Blabla AS,Blablaaddress"OU = 957839827 OID.1.2.240.111111.1.9.8 = 12345678 OID.1.2.240.111111.1.9.2 = Blabla Test O = BlaBla AS OU =多次允许
可以访问私钥的其他帐户和组包括:BUILTIN\Administrators NT AUTHORITY\SYSTEM IIS APPPOOL\ASP.NET v4.0 BUILTIN\Users NT AUTHORITY\NETWORK SERVICE DIGITROLLDMZ\IIS_WPG
我正在访问的网址看起来像这样:
https://test.blabla.com/blabla-5.0/services/Blabla?wsdl
Run Code Online (Sandbox Code Playgroud)
...如果我从服务器网络浏览器访问它,我会选择证书,我选择新的证书,它说它没关系,绿色和SSL按顺序和所有,但我的应用程序代码,如下所示:
public static blabla.service.NettforhandlerService getNettforhandlerService(string applicationPath)
{
blabla.service.NettforhandlerService service = new blabla.service.NettforhandlerService();
if (System.Configuration.ConfigurationManager.AppSettings["CertificateSerialNumber"] != null && System.Configuration.ConfigurationManager.AppSettings["CertificateSerialNumber"].Length > 0) …Run Code Online (Sandbox Code Playgroud)