gpt4 book ai didi

c# - 如何使用证书在 ASP.Net 中调用 soap API?

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:14 25 4
gpt4 key购买 nike

我想使用 soap API 从系统中提取一些数据。 API 开发人员向我提供了两个证书,并要求我在我的代码中使用它们。他说如果我想调用 API 时不使用它们,我将无法获得完整的数据集。这是我第一次想使用证书调用 soap API,我没有任何想法。我在互联网上进行了一些搜索,但找不到任何可以帮助我的东西。这是我的申请详情:1.ASP.net2.C#3..Net框架4.0

最佳答案

假设这是一个 X509 证书,您将生成对 CERT 文件的引用,然后将其添加到 WebRequest 对象的 ClientCertificates 属性中。

//You must change the path to point to your .cer file location. 
X509Certificate Cert = X509Certificate.CreateFromCertFile("C:\\mycert.cer");
// Handle any certificate errors on the certificate from the server.
ServicePointManager.CertificatePolicy = new CertPolicy();
// You must change the URL to point to your Web server.
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("https://YourServer/sample.asp");
Request.ClientCertificates.Add(Cert);
Request.UserAgent = "Client Cert Sample";
Request.Method = "GET";
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();

有关更多详细信息,请访问:https://support.microsoft.com/en-us/kb/895971

有时 CERT 文件受密码保护。这是 VB.Net 代码,但当文件上有密码时它会生成 CERT 对象:

Dim fs As FileStream = File.Open(certfilePath, FileMode.Open, FileAccess.Read)
Dim buffer As Byte()
ReDim buffer(fs.Length)
Dim count As Integer = fs.Read(buffer, 0, buffer.Length)
fs.Close()
Dim cert As X509Certificate2 = New X509Certificate2(buffer, passwordToFile)

另请注意,如果您正在使用 SoapHttpClientProtocol(或将其继承到特定类中以使用此 SOAP API,就像其他 System.Web.Protocol 元素一样),它还包含 ClientCertificates 属性。

关于c# - 如何使用证书在 ASP.Net 中调用 soap API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33405269/

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