java webservice 证书_通过https和证书在Java Webservice上验证.net C#客户端的问题

在尝试使用HTTPS和证书连接Java Web服务的.NET C#客户端时遇到问题。证书文件为txt格式,无法在Windows证书存储中导入,导致X509Certificate2构造函数抛出异常。尽管该文件在SoapUI和Java客户端中工作正常,但更改文件扩展名或尝试导入Windows证书存储均未成功。寻求解决方案。
摘要由CSDN通过智能技术生成

我正在实现一个必须使用Java web服务的c#web服务客户端。通信协议是https,认证必须通过证书(包括私钥)完成。

据我所知,私钥的目的是为了识别Web服务背后的正确客户数据库。

我不知道证书文件的格式,因为它的文件扩展名是“txt”。如果我尝试通过mmc控制台在Windows证书存储区中导入此文件,则会发生“文件类型无法识别”错误(我从德语翻译了此文件,因此在英文中可能听起来有点不同)。所以我的客户端应用程序不能使用这个证书,它不会在证书存储中找到它。

我试图实例化证书并将文件位置传递给构造函数。

mVerifyCert = new X509Certificate2(AppConfig.Settings.Default.CertificateAndKeyFileFullName);但是,然后发生以下异常(英语中可能是“System.Security.Cryptography.CryptographicException:找不到对象”。

{System.Security.Cryptography.CryptographicException:Das angeforderte Objekt wurde nicht gefunden。

bei System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)

bei System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName)

bei System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName,Object password,X509KeyStorageFlags keyStorageFlags)

bei System.Security.Cryptography.X509Certificates.X509Certificate..ctor(String fileName)

bei System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName)

所以现在可能会认为文件会有问题。但是,当这个文件与SoapUI工具一起使用来测试web服务时,它工作正常。

我也喜欢Java示例客户端应用程序使用这个文件与Java信任存储,它工作正常的Java客户端。

我也尝试将文件扩展名从“txt”更改为“p12”,“pem”,以便能够将文件导入Windows证书存储但未成功。

你能告诉我这里有什么问题吗?我能做些什么来解决这个问题。我根本不知道。

这是我的app.config:

..\..\Data\getDefactInstance.xml

..\..\Data\DefactInstanceXmlDotNet.xml

https://xyz.com/wsAdapter

..\..\Data\sdm.crt

..\..\Data\sdmCert + key.txt

https://xyz.net/qcbin

xyz

xyz

xyz

xyz

openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"

messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"

useDefaultWebProxy="true">

maxBytesPerRead="4096" maxNameTableCharCount="16384" />

realm="" />

openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"

messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered"

useDefaultWebProxy="true">

maxBytesPerRead="4096" maxNameTableCharCount="16384" />

realm="" />

bindingConfiguration="WSAdapterBFPortBinding" contract="QcsiWS.WSAdapterBCI"

name="WSAdapterBFPortHttp" />

binding="basicHttpBinding" bindingConfiguration="WSAdapterBFPortBinding1"

contract="QcsiWebService.WSAdapterBCI" name="WSAdapterBFPortHttps" />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值