İmza doğrulama için KeyInfo çözümlenemiyor: KeyInfo ‘SecurityKeyIdentifier – Signature validation failed. Unable to resolve SecurityKeyIdentifier

Merhaba,

İmza doğrulama için KeyInfo çözümlenemiyor: KeyInfo 'SecurityKeyIdentifier    (    IsReadOnly = False,

    Count = 1,

    Clause[0] = X509IssuerSerialKeyIdentifierClause(Issuer = 'CN=test.oguzaltuntas.com, OU=UG, O=OAL, L=IST, ST=ISTANBUL, C=TR', Serial = '5465836144547475')

    )

', kullanılabilir belirteçler: 'SecurityTokenResolver

    (

    TokenCount = 1,

    TokenEntry[0] = (AllowedReferenceStyle=External, Token=System.IdentityModel.Tokens.X509SecurityToken, Parameters=System.ServiceModel.Security.Tokens.X509SecurityTokenParameters:

InclusionMode: Never

ReferenceStyle: Internal

RequireDerivedKeys: False

X509ReferenceStyle: IssuerSerial)

    )

'.

şeklinde hata alıyorsanız.

Çok yönlü bir hata olabilir. Fakat genelde authentication ile ilgili hata olma olasılığı oldukça yüksektir. Bu yüzden  herhangi bir token yapısına sahip ya da sahip olan bir endpoint ile çalışıyorsanız  kontrol etmenizde fayda var. (authentication-authorization)

Wcf tarafında channelfactory ile binding sınıfınızdan türettiğiniz;

ChannelFactory<T> factory = new ChannelFactory<T>(binding)

 

 

Factory.Credentials.ServiceCertificate.Authentication.CertificateValidationMode = x509CertificateValidationNode.None;

yaparak kullanabilirsiniz.

Hata detayı ;

Server stack trace:

   konum: System.ServiceModel.Security.WSSecurityOneDotZeroReceiveSecurityHeader.ResolveSignatureToken(SecurityKeyIdentifier keyIdentifier, SecurityTokenResolver resolver, Boolean isPrimarySignature)

   konum: System.ServiceModel.Security.WSSecurityOneDotZeroReceiveSecurityHeader.VerifySignature(SignedXml signedXml, Boolean isPrimarySignature, SecurityHeaderTokenResolver resolver, Object signatureTarget, String id)

   konum: System.ServiceModel.Security.ReceiveSecurityHeader.ProcessPrimarySignature(SignedXml signedXml, Boolean isFromDecryptedSource)

   konum: System.ServiceModel.Security.ReceiveSecurityHeader.ExecuteFullPass(XmlDictionaryReader reader)

   konum: System.ServiceModel.Security.StrictModeSecurityHeaderElementInferenceEngine.ExecuteProcessingPasses(ReceiveSecurityHeader securityHeader, XmlDictionaryReader reader)

   konum: System.ServiceModel.Security.ReceiveSecurityHeader.Process(TimeSpan timeout, ChannelBinding channelBinding, ExtendedProtectionPolicy extendedProtectionPolicy)

   konum: System.ServiceModel.Security.MessageSecurityProtocol.ProcessSecurityHeader(ReceiveSecurityHeader securityHeader, Message& message, SecurityToken requiredSigningToken, TimeSpan timeout, SecurityProtocolCorrelationState[] correlationStates)

   konum: System.ServiceModel.Security.AsymmetricSecurityProtocol.VerifyIncomingMessageCore(Message& message, String actor, TimeSpan timeout, SecurityProtocolCorrelationState[] correlationStates)

   konum: System.ServiceModel.Security.MessageSecurityProtocol.VerifyIncomingMessage(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState[] correlationStates)

   konum: System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)

   konum: System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)

   konum: System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)

   konum: System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)

   konum: System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)

   konum: System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

 

Exception rethrown at [0]:

   konum: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)

   konum: System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

   konum:

Soru ve iletişim için  iletişim  formundan  bana ulaşabilirsiniz.

Sonraki yazılarda görüşmek üzere.

Oğuz ALTUNTAŞ © 2020

error: Oğuz ALTUNTAŞ © 2020