- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试为 WSE 3.0 服务创建 WCF 客户端。我已经将 WSE3.0 客户端用于相同的服务。这是它的配置:
<microsoft.web.services3>
<security>
<timeToleranceInSeconds value="10000"/>
<x509 allowTestRoot="true" verifyTrust="true" storeLocation="CurrentUser"/>
<binarySecurityTokenManager>
<add valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">
<keyAlgorithm name="RSA15"/>
</add>
</binarySecurityTokenManager>
</security>
</microsoft.web.services3>
服务客户端的策略是这样创建的:
MutualCertificate10Assertion assertion = new MutualCertificate10Assertion()
{
EstablishSecurityContext = false,
RenewExpiredSecurityContext = true,
RequireSignatureConfirmation = false,
MessageProtectionOrder = MessageProtectionOrder.SignBeforeEncrypt,
RequireDerivedKeys = false,
TtlInSeconds = 300
};
assertion.ClientX509TokenProvider = new X509TokenProvider(StoreLocation.LocalMachine, StoreName.My, "ClientCerfiticateName", X509FindType.FindBySubjectName);
assertion.ServiceX509TokenProvider = new X509TokenProvider(StoreLocation.LocalMachine, StoreName.My, "ServiceCerfiticateName", X509FindType.FindBySubjectName);
//protection
assertion.Protection.Request.SignatureOptions = SignatureOptions.IncludeAddressing | SignatureOptions.IncludeTimestamp | SignatureOptions.IncludeSoapBody;
assertion.Protection.Request.EncryptBody = true;
assertion.Protection.Response.SignatureOptions = SignatureOptions.IncludeAddressing | SignatureOptions.IncludeTimestamp | SignatureOptions.IncludeSoapBody;
assertion.Protection.Response.EncryptBody = true;
assertion.Protection.Fault.SignatureOptions = SignatureOptions.IncludeAddressing | SignatureOptions.IncludeTimestamp | SignatureOptions.IncludeSoapBody;
assertion.Protection.Fault.EncryptBody = false;
this.Policy = new Policy(new TraceAssertion(serviceUri), assertion, new RequireActionHeaderAssertion());
现在我尝试用它来创建 WCF 客户端。我使用了这些建议 ( http://msdn.microsoft.com/en-us/library/ms730299.aspx )。我从服务和客户端契约生成类型,然后创建从 Binding 派生的 WseHttpBinding 类,之后我尝试创建此自定义绑定(bind)并初始化客户端和服务证书:
string clientCertificateName = "ClientCertificateName";
string serviceCertificateName = "ServiceCertificateName";
Uri uri = new Uri("http://WantedService.asmx"));
EndpointAddress address = new EndpointAddress(uri,
EndpointIdentity.CreateDnsIdentity(serviceCertificateName ));
WseHttpBinding binding = new WseHttpBinding()
{
SecurityAssertion = WseSecurityAssertion.MutualCertificate10,
EstablishSecurityContext = false,
RequireSignatureConfirmation = false,
MessageProtectionOrder = MessageProtectionOrder.SignBeforeEncrypt,
RequireDerivedKeys = false
};
WantedServiceClient client = new CreativeGroupCurrencyServiceClient(binding, address);
// Set up certificates
client.ClientCredentials.ServiceCertificate.SetScopedCertificate(
StoreLocation.LocalMachine,
StoreName.My,
X509FindType.FindBySubjectName,
serviceCertificateName ,
uri);
client.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.LocalMachine,
StoreName.My,
X509FindType.FindBySubjectName,
clientCertificateName);
WantedMethodResponse response = client.WantedMethod(new GetCurrenciesRequest());
但是出现异常:
System.Xml.XmlException: Cannot read the token from the 'SignatureConfirmation' element with the 'http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd' namespace for BinarySecretSecurityToken, with a '' ValueType. If this element is expected to be valid, ensure that security is configured to consume tokens with the name, namespace and value type specified.
为什么不起作用?为什么方案是1.1?我应该在 MessageSecurityVersion 中使用 WS Secure 1.1 作为安全绑定(bind)元素吗?哪一个?我试过这个:
WseHttpBinding binding = new WseHttpBinding()
{
SecurityAssertion = WseSecurityAssertion.MutualCertificate11,
...
};
哪个使用 WS Security 1.1 - MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11
(在 WseHttpBinding 中配置时)但它也失败了:
System.ServiceModel.Security.MessageSecurityException: Signature confirmation is not expected in the security header.
我不知道我现在还能做什么!看来我什么都试过了!
最佳答案
关于WCF 客户端到 WSE 3.0 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3596734/
WSE (Web Services Enhancements) 上有一个旧代码。现在,在适用于 HTTPS 的服务的“沙盒”中,开始使用自签名证书。现在在沙箱中出现错误——无法创建 SSL/TLS 安
我一直在尝试使用 WCF 或 WSE 更改 SOAP 安全元素。 WCF:实现消息检查器并在 Beforerequestsent 中添加自定义代码。在后面的代码中设置以下自定义绑定(bind)后,我在
我一直在尝试使用 WCF 或 WSE 更改 soap 安全元素。 WCF:实现消息检查器并在 Beforerequestsent 中添加您的自定义代码。在后面的代码中设置了以下自定义绑定(bind)后
我对 WSE 和 WCF 都很陌生,我正在尝试使用 WCF 使用 Web 服务,但所有示例文档均适用于 VS2005 + WSE。此 Web 服务使用 WS-Security 1.0。我已经通过 Vi
我尝试为 WSE 3.0 服务创建 WCF 客户端。我已经将 WSE3.0 客户端用于相同的服务。这是它的配置: 服
如何使用 WCF 与老式 WSE 2.0 Web 服务进行通信? 最佳答案 首先,在我看来,WSE 2.0 和 WSE 3.0 都已过时,而不是“老派”。 其次,你“就去做吧”。添加服务引用并通过代理
.NET WSE 线程安全地从 WSDL 生成客户端 stub 吗? 当然,“线程安全”不一定是一个严格定义的术语,所以我至少对以下内容感兴趣: 同一个 stub 类的不同实例是否可由不同线程同时访问
是否可以使用 http.sys 将我自己开发的异常通过 Soap 发送到客户端?? 最佳答案 不幸的是,据我所知,答案是否定的。您不能在服务器端构建自己的自定义异常并期望通过 WSE 在客户端使用它们
尽管在 Visual Studio 2005 中的客户端项目上启用了 WSE 3.0,但我所做的 Web 引用总是以从 SoapHttpClientProtocol 派生的服务代理结束。我必须手动将继
我需要与使用 WSE 2.0 实现 WS-Security 和 DIME 的旧版 .NET Web 服务集成。问题是我需要从 Java 应用程序执行此操作。 我期望 Axis2 能够与 WS-Secu
我已经创建了一个 Web 服务,它有几个使用 .net 3.5 开发的方法。将访问 Web 服务的客户端将使用 .net 3.0。我被要求使此 Web 服务“安全”,并且在网上查看了很多选项。 第一个
我们有一个 Web 服务,其中包含 WSE 3.0 端点和 .NET Framework 4.5 上较新的 WCF 端点。 WCF 使用 basicHttpBinding。 问题是新的 WCF 绑定(
我正在尝试从 C++ 应用程序访问 .net Web 服务(内置于 vs 2008)。我正在使用 IXMLHttpRequest 访问该服务。以下是相关代码: MSXML::IXMLHttpRequ
我需要调用仅支持 DIME 的遗留 SOAP API , 但 DIME 在 WSE 3.0 中不受支持。 遗憾的是,支持 DIME 的 WSE 2.0 不支持与 Visual Studio 2005
我在发送安全 wse header 以使用 Web 服务时遇到问题,并且已经尝试了数十种使用 TargetProcess.com 中的此 Web 服务的方法,但我不确定我做错了什么。 (http://
我在从 WCF 客户端连接到第三方 WSE 3.0 Web 服务时遇到困难。我已经实现了此知识库文章中所示的自定义绑定(bind)类: http://msdn.microsoft.com/en-us/
为此,我在网上找遍了。我一直在做这件事,但我尝试使用其 Web 服务的供应商拒绝正式支持 WCF 作为一种使用方法。 我不是 Web 服务专家,所以我会尽我所能在最初的帖子中记录和解释,但无论如何,如
我已经成功创建了一个在不使用身份验证时可以正常工作的 WS 客户端。 但是,服务器 (WebSphere) 现在需要添加一个 ws-security 用户名 token ,我很难做到这一点。生成的 S
我正在使用 wsdl,它会自动将额外的元素添加到 xml 中。为了使其符合不使用这些元素的外部 Web 服务。请参见下图: http://img406.imageshack.us/img406/130
关于这个区域,我还有几个其他问题,但现在它们有点多余了。任何对他们的回答也将不胜感激,但这个问题是我目前主要关心的问题。 我遵循了很多关于 MTOM/XOP 如何在 WSE 3.0 中工作的示例,并且
我是一名优秀的程序员,十分优秀!