发帖并获得Progress OpenEdge证书

问题描述 投票:0回答:1

我正在使用 V-11.7,在不同的场景中使用 HttpClient 没有任何问题,GET、POST、上传文件、获取响应等。但现在我必须将 XML 上传到需要有效证书的公共管理 URL .

我必须使用 P12 证书连接到网络服务,但我看不到方法。

或者,我使用 cURL 使用以下命令来完成此操作:

lcComan = "C:\Teragest\FacE\curl.exe" +
                            " -k" +
                            " -H " + CHR(34) + "Content-type: application/xml;charset=UTF-8" + CHR(34) +
                            " --data-binary @" + lcFiche + ".xml" +
                            " -o " + lcFiche + "out.xml" +
                            " -v" +
                            " --key " + lcpemKey + 
                            " --cacert " + lcpemCacert +
                            " --cert " + lcpemCert + ":" + lcpemPass +
                            " " + lcUrl.   
                    OS-COMMAND VALUE(lcComan). 

我不必接收二进制文件,在这种情况下他的响应是一个简单的 XML。

我尝试添加引用证书的标头,但根本不起作用:

oLib        = ClientLibraryBuilder:Build():sslVerifyHost(NO):LIBRARY. /*ServerNameIndicator("pruebas-   ticketbai.araba.eus"):SetSSLProtocols(cSSLProtocols):SetSSLCiphers(cSSLCiphers):library. */
oHttpClient = ClientBuilder:Build():UsingLibrary(oLib):Client.                   
oRequest    = RequestBuilder:Post(lcUrl,oDocument):AddHeader("Content-Type","application/xml;charset=UTF-8")
                                              :AddHeader("key", lcpemKey)  
                                              :AddHeader("cacert", lcpemCacert) 
                                              :AddHeader("--cert-type","P12")
                                              :AddHeader("--cert", cRuta + cNif + ".p12" + ":" + lcpemPass):Request.                                                                                                                                                                           
oResponse   = ResponseBuilder:Build():Response.
oHttpClient:Execute(oRequest, oResponse).`

有一种方法可以用 HttpClient 来做到这一点吗?谢谢大家!

openedge progress-4gl
1个回答
0
投票

在发出请求之前,需要将 SSL 证书添加到 OpenEdge 客户端的证书存储中。

%dlc%我

© www.soinside.com 2019 - 2024. All rights reserved.