I want to use a service in WCF and when I want to consume one of its methods an error appears saying that the set of keys does not exist.
This is my app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="ConfiguracionPostpagoSTMBinding" >
<textMessageEncoding messageVersion="Soap11" />
<security authenticationMode="MutualCertificate"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
includeTimestamp="false"
>
</security>
<httpTransport />
</binding>
</customBinding>
<basicHttpBinding>
<binding name="PostpagoSTMBinding" />
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="ConfiguracionPostpagoSTMBindingBehavior">
<clientCredentials>
<clientCertificate findValue="05318b555a6bc0b1ba1bfd159d405bea485e2543"
storeLocation="LocalMachine" storeName="My"
x509FindType="FindByThumbprint" />
<serviceCertificate>
<defaultCertificate findValue="05318b555a6bc0b1ba1bfd159d405bea485e2543"
storeLocation="LocalMachine" storeName="My"
x509FindType="FindByThumbprint" />
<authentication certificateValidationMode="None" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint address="http://10.213.0.115:8080/postpagoSTM/configuracionPostpagoSTM"
binding="customBinding" bindingConfiguration="ConfiguracionPostpagoSTMBinding"
contract="Stm_PostPaymentConfiguration.ConfiguracionPostpagoSTM"
behaviorConfiguration="ConfiguracionPostpagoSTMBindingBehavior"
name="ConfiguracionPostpagoSTMPort" >
<identity>
<dns value="101010300001"/>
</identity>
</endpoint>
</client>
</system.serviceModel>
And this is the code example:
try
{
var stm = new ConfiguracionPostpagoSTMClient();
var result = stm.obtenerConfiguracion(new obtenerConfiguracion { idConfiguracion = 1, idConfiguracionSpecified = false });
if(result!=null)
{
}
}
catch (Exception ex)
{
throw;
}
And finally this is the error that appears: Server stack trace:
in System.Security.Cryptography.Utils.CreateProvHandle (CspParameters parameters, Boolean randomKeyContainer) in System.Security.Cryptography.Utils.GetKeyPairHelper (CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle & safeProvHandle, SafeKeyHandle & safeKeyHandle) in System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair () in System.Security.Cryptography.RSACryptoServiceProvider..ctor (Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize) in System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey () in System.IdentityModel.Tokens.X509AsymmetricSecurityKey.get_PrivateKey () in System.IdentityModel.Tokens.X509AsymmetricSecurityKey.GetSignatureFormatter (String algorithm) in System.IdentityModel.SignedXml.ComputeSignature (SecurityKey signingKey) in System.ServiceModel.Security.WSSecurityOneDotZeroSendSecurityHeader.CompletePrimarySignatureCore (SendSecurityHeaderElement [] signatureConfirmations, SecurityToken [] signedEndorsingTokens, SecurityToken [] signedTokens, SendSecurityHeaderElement [] basicTokens, Boolean isPrimarySignature) in System.ServiceModel.Security.SendSecurityHeader.CompleteSignature () in System.ServiceModel.Security.SendSecurityHeader.CompleteSecurityApplication () in System.ServiceModel.Security.SecurityAppliedMessage.OnWriteMessage (XmlDictionaryWriter writer) in System.ServiceModel.Channels.BufferedMessageWriter.WriteMessage (Message message, BufferManager bufferManager, Int32 initialOffset, Int32 maxSizeQuota) in System.ServiceModel.Channels.TextMessageEncoderFactory.TextMessageEncoder.WriteMessage (Message message, Int32 maxMessageSize, BufferManager bufferManager, Int32 messageOffset) in System.ServiceModel.Channels.HttpOutput.SerializeBufferedMessage (Message message, Boolean shouldRecycleBuffer) in System.ServiceModel.Channels.HttpOutput.Send (TimeSpan timeout) in System.ServiceModel.Channels.HttpChannelFactory
1.HttpRequestChannel.HttpChannelRequest.SendRequest(Message message, TimeSpan timeout) en System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) en System.ServiceModel.Channels.SecurityChannelFactory
1.SecurityRequestChannel.Request (Message message, TimeSpan timeout) in System.ServiceModel.Dispatcher.RequestChannelBinder.Request (Message message, TimeSpan timeout) in System.ServiceModel.Channels.ServiceChannel.Call (String action, Boolean oneway, ProxyOperationRuntime operation, Object [] ins, Object [] outs, TimeSpan timeout) in System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (IMethodCallMessage methodCall, ProxyOperationRuntime operation) in System.ServiceModel.Channels.ServiceChannelProxy.Invoke (IMessage message)Exception rethrown at [0]: in System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) in System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & msgData, Int32 type) in STMTest.Stm_PostPaymentConfiguration.STMPostpaymentSetup.getConfiguration (getRequestRequest request) in STMTest.Stm_PostPaymentConfiguration.PostpaymentSTMClient.STMTest.Stm_PostPaymentConfiguration.StPostPost.Settings.getConfiguration (getRequestRefreshRequest) in G: \ Projects \ STMTest \ STMTest \ Connected Services \ Stm_PostPaymentConfiguration \ Reference.cs: line 214 in STMTest.Stm_PostPaymentConfiguration.STM Client Setup Configuration.getConfiguration (getConfiguration getConfiguration1) in G: \ Projects \ STMTest \ STMTest \ Connected Services \ Stm_PostPaymentConfiguration \ Reference.cs: line 220 in STMTest.UnitTest1.TestMethod1 () in G: \ Projects \ STMTest \ STMTest \ UnitTest1.cs: line 17
Please, if someone can help me, I will be very grateful.