Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在Soap web服务中禁用验证响应_.net_Ssl_Soap Client - Fatal编程技术网

.net 如何在Soap web服务中禁用验证响应

.net 如何在Soap web服务中禁用验证响应,.net,ssl,soap-client,.net,Ssl,Soap Client,我必须调用soapweb服务 要调用此web服务,我必须使用SSL证书和X509Certificate 所以,我构建了这个代码 //certificato 509v3 string pathCertificato = @"C:\Users\michele.castriotta\Desktop\Certificati\keystore_healthnetbr.pfx"; X509Certificate2 certificatoLocale = new X509Certificate2(File.R

我必须调用soapweb服务

要调用此web服务,我必须使用SSL证书和X509Certificate

所以,我构建了这个代码

//certificato 509v3
string pathCertificato = @"C:\Users\michele.castriotta\Desktop\Certificati\keystore_healthnetbr.pfx";
X509Certificate2 certificatoLocale = new X509Certificate2(File.ReadAllBytes(pathCertificato), "changeit");
AsymmetricAlgorithm chiavePrivta = certificatoLocale.PrivateKey;
PublicKey chiavePubblica = certificatoLocale.PublicKey;


PianoAssistenzialeResidenzialeClient ws_Client = new PianoAssistenzialeResidenzialeClient("PianoAssistenzialeResidenzialePort", "https://edottotest.sanita.regione.rsr.rupar.puglia.it/nsisr/PianoAssistenzialeResidenzialeService");
ws_Client.ClientCredentials.ClientCertificate.Certificate=certificatoLocale;
ws_Client.ClientCredentials.ServiceCertificate.DefaultCertificate = certificatoLocale;

EndpointIdentity identity = EndpointIdentity.CreateDnsIdentity("HEALTHNETBR");
EndpointAddress address = new EndpointAddress(new Uri("https://edottotest.sanita.regione.rsr.rupar.puglia.it/nsisr/PianoAssistenzialeResidenzialeService"), identity);
ws_Client.Endpoint.Address = address;

ws_Client.ClientCredentials.UserName.UserName = "HEALTT";
ws_Client.ClientCredentials.UserName.Password = "ceit";

PianoAssistenzialeResidenzialeService.attributiAutorizzativi attributi = new PianoAssistenzialeResidenzialeService.attributiAutorizzativi();
attributi.identificativoServizio="getElencoPAIDomiciliare";
attributi.identificativoUtente="HEAR";
attributi.ruoloIstituzionale="RI282";

PianoAssistenzialeResidenzialeService.getElencoPAIDomiciliare request = new PianoAssistenzialeResidenzialeService.getElencoPAIDomiciliare();

elencoPAIDomiciliareRequest criteriRicerca = new elencoPAIDomiciliareRequest();
criteriRicerca.codiceNazionale = "160";
criteriRicerca.distretto = "3";
criteriRicerca.tipologiaAssistenzaAutorizzata = 0;
criteriRicerca.dataInizioRiferimento = "01/12/2000";
criteriRicerca.dataFineRiferimento = "01/07/2015";

request.criteriRicerca = criteriRicerca;


getElencoPAIDomiciliareResponse response = ws_Client.getElencoPAIDomiciliare(attributi, request);
但是,我有一个错误:

无法为验证签名解析KeyInfo:KeyInfo'SecurityKeyIdentifier\r\n(\r\n IsReadOnly=False\r\n Count=1,r\\n子句[0]=X509IssuerSerialKeyIdentifierClause(Issuer='CN=testedoca,C=US',standard='1342448880')\r\n),可用令牌'SecurityTokenResolver\r\n(\r\n TokenCount=1\r\n TokenEntry[0]=(AllowedReferenceStyle=External,token=System.IdentityModel.Tokens.X509SecurityToken,parameters=System.ServiceModel.Security.Tokens.X509SecurityTokenParameters:\r\nInclusionMode:Never\r\nReferenceStyle:Internal\r\nRequiredDrivedKeys:False\r\nX509ReferenceStyle:any)\r\n)\r\n'

现在,我的问题是:
是否可以禁用验证响应???

您可以检查您的系统作为证书颁发机构安装的证书。
详细信息如下。

我不知道如何使用.net httpclient禁用验证,但是 如果您熟悉java,可以使用以下两个选项之一实现这一点:

  • 值得一试,因为它们非常易于使用,即使是天真的java开发人员也可以使用它调用任何Web服务