类别:电脑知识

日期:2022-01-09 浏览:24781 评论:0

1.安装证书:

(1)打开mmc;

(2)选择文件-添加/删除管理单元,左边选择证书,点击添加,选择计算机账户,点击下一步,选择本地计算机(默认选择),点击完成后,再点确定。

 

(3)右键个人-证书,出现导入证书界面,安装步骤导入.p12格式的证书,导完之后右边出现刚刚导入的证书。

(4)到这一步,官方让你再试一试看看,我试了仍然不行,所以接着往下配置。

(5)去微软官方下载一个叫做WinHttpCertCfg.exe的安装文件,事实上你打开这个网址它就自动下载了。下载之后安装到服务器上。

(6)在64位系统下,安装之后工具在C:\Program Files (x86)\Windows Resource Kits\Tools路径下,使用CD指令定位到该目录下。

(7)使用刚刚安装的工具,给指定用户开证书的访问权限,这是创造奇迹的命令:

winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "证书名称,一般是公司名称" -a "NETWORKSERVICE"

(8)上面的证书名称,官方提示你了,你双击你安装的那个证书,看看颁发给那个字段是什么值这里就填写什么。

(9)可是你很可能和我一样,上面命令执行后发现虽然提示成功,但是仍然没有用,怎么办?接着把其他两个用户也授权试试吧。事实上你在执行下面第一条命令的时候有失败提示,无所谓,接着第二条,提示成功,这个时候再试试程序能够正常企业付款。

winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "证书名称,一般是公司名称" -a "ASPNET"
winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s "证书名称,一般是公司名称" -a "Authenticated Users"

(10)如果还不行,那你继续战斗吧。我歇会。

2.分配权限:

在控制台中找到安装的证书,右键选择“管理私钥”,

 

添加自己需要的权限,如果在测试可以直接添加Everyone、Network service、 IIS_Users 等

3.修改代码:public static string Refund(string urlWithParams)

{
    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;   //协议按需选择,不行就都试一遍
    ServicePointManager.ServerCertificateValidationCallback = (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) => { return true; };

    HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(urlWithParams);
    webRequest.Method = "GET";

    //查找我们导入的证书
    X509Store certStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
    certStore.Open(OpenFlags.ReadOnly);
    X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindBySubjectName, "安装的证书名字", false);
    webRequest.ClientCertificates.Add(certCollection[0]);

    using (WebResponse webResponse = webRequest.GetResponse())
    {
        var sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8);
        var responseData = sr.ReadToEnd();        return responseData;
    }
}


本文标题:"请求被中止: 未能创建 SSL/TLS 安全通道"解决办法
本文链接:https://vtzw.com/post/836.html
作者授权:除特别说明外,本文由 零一 原创编译并授权 零一的世界 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
 您阅读本篇文章共花了: 

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。