如何解决参数名称: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 举报,一经查实,本站将立刻删除。