【发布时间】:2010-04-16 18:59:28
【问题描述】:
我正在尝试使用使用证书的 Java Web 服务。我可以生成代理,添加服务参考。问题是:它需要 Basic HTTP Authorization Header。 有必要加密用户/密码并在标题中传递它们。
谢谢。
【问题讨论】:
标签: .net web-services interop
我正在尝试使用使用证书的 Java Web 服务。我可以生成代理,添加服务参考。问题是:它需要 Basic HTTP Authorization Header。 有必要加密用户/密码并在标题中传递它们。
谢谢。
【问题讨论】:
标签: .net web-services interop
这取决于您使用的 .NET 版本。
如果您可以使用 WCF,您所要做的就是更改绑定、传递凭据,然后让框架完成工作。
您可以在此处找到配置说明(客户端配置只需要后半部分):
Transport Security with Basic Authentication - MSDN
否则,您可以下载Web Service Extensions (WSE) 3.0 并将其用于简单身份验证。
Implementing Direct Authentication with UsernameToken in WSE 3.0
【讨论】:
听起来 Java 网络服务使用的是 SSL TLS 协议,而不是老式的 SSL 协议。您不需要“在标头中加密证书用户名和密码”。我现在不知道你在哪里听到的。如果它是 Java 的默认 cacerts 密钥库的一部分的常规证书,那么 Java 已经内置了密码。
如果 i 是自签名证书(在 web 服务端),您可能需要以某种方式告诉 C# 信任自签名证书。此外,您所指的“凭据”不是用户名+密码,而只是私钥有效负载。
【讨论】: