参数名称:referenceStyle ----> System.ArgumentOutOfRangeException:指定的参数超出有效值的范围

问题描述

我将肥皂服务与自定义绑定一起使用,该绑定使用 asymmetricSecurityBindingElement 用于回调服务。在应用程序级别,我们使用收件人令牌对消息进行签名。对于收件人令牌,我正在使用RawDataKeyIdentifier子句类型,但是在托管服务时会破坏代码。使用下面的代码,它工作正常,但是突然我遇到了下面的错误

代码

var tokenParams = securityBindingElement.RecipientTokenParameters as X509SecurityTokenParameters;
                tokenParams.X509ReferenceStyle = X509KeyIdentifierClauseType.RawDataKeyIdentifier;

错误

可能由IncludeExceptionDetailInFaults = true创建的ExceptionDetail,其值为: system.invalidOperationException:在对策略导出扩展的调用中引发了异常。 扩展:System.ServiceModel.Channels.asymmetricSecurityBindingElement 错误:指定的参数超出有效值范围。 参数名称:referenceStyle ----> System.ArgumentOutOfRangeException:指定的参数不在有效值范围内。 参数名称:referenceStyle 在System.ServiceModel.Security.WSSecurityPolicy.CreateX509ReferenceStyleAssertion(X509KeyIdentifierClauseType referenceStyle) 在System.ServiceModel.Security.WSSecurityPolicy.CreateWsspX509TokenAssertion(MetadataExporter导出器,X509SecurityTokenParameters参数) 在System.ServiceModel.Security.WSSecurityPolicy.CreatetokenAssertion(MetadataExporter导出器,SecurityTokenParameters参数,布尔值是可选的) 在System.ServiceModel.Security.WSSecurityPolicy.CreatetokenAssertion(MetadataExporter导出程序,SecurityTokenParameters参数) 在System.ServiceModel.Security.WSSecurityPolicy.CreateWsspRecipientTokenAssertion(MetadataExporter导出程序,SecurityTokenParameters参数) 在System.ServiceModel.Security.WSSecurityPolicy.CreateWsspasymmetricBindingAssertion(MetadataExporter导出器,PolicyConversionContext policyContext,asymmetricSecurityBindingElement绑定) 在System.ServiceModel.Channels.SecurityBindingElement.ExportasymmetricSecurityBindingElement(asymmetricSecurityBindingElement绑定,MetadataExporter导出器,PolicyConversionContext policyContext)处 在System.ServiceModel.Channels.SecurityBindingElement.ExportPolicy(MetadataExporter导出程序,PolicyConversionContext上下文)处 在System.ServiceModel.Channels.asymmetricSecurityBindingElement.System.ServiceModel.Description.IPolicyExportExtension.ExportPolicy(MetadataExporter导出程序,PolicyConversionContext上下文)处 在System.ServiceModel.Description.MetadataExporter.ExportPolicy(ServiceEndpoint端点,BindingParameterCollection bindingParameters) ---内部ExceptionDetail堆栈跟踪的结尾---

如果我使用“ IssuerSerial”子句类型而不是“ RawDataKeyIdentifier”,则我的服务运行正常,但客户端最终遇到“找不到证书”错误

因此,我们需要设置“ RawDataKeyIdentifier”子句类型,但会破坏我的服务。

任何人对此问题有任何想法,将不胜感激。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...