Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.12.2012(UTC) Сообщений: 49 Откуда: Москва
Сказал(а) «Спасибо»: 8 раз
|
Добрый день! Помогите, пожалуйста, разобраться с проблемой. Есть клиент WCF-сервиса. Используется WS-security. При соединении проверяем сертификат сервера. Если запускаем из-под Visual Studio, то подключение работает. Но если запускаем сам exe-файл без студии, то возникает ошибка: Цитата:Message: Значение не может быть неопределенным. Имя параметра: gost
Exception:
System.ArgumentNullException: Значение не может быть неопределенным. Имя параметра: gost
Server stack trace: в CryptoPro.Sharpei.Xml.CPEncryptedXml.EncryptKey(Gost28147 simm, Gost3410_2012_256 gost) в CryptoPro.Sharpei.ServiceModel.CPSymmetricSecurityProtocol.CreateWrappedKeyToken(SecurityToken wrappingToken, SecurityTokenParameters wrappingTokenParameters, SecurityTokenReferenceStyle wrappingTokenReferenceStyle) в System.ServiceModel.Security.SymmetricSecurityProtocol.GetInitiatorToken(SecurityToken providerToken, Message message, TimeSpan timeout, SecurityTokenParameters& tokenParameters, SecurityToken& prerequisiteWrappingToken) в System.ServiceModel.Security.SymmetricSecurityProtocol.TryGetTokenSynchronouslyForOutgoingSecurity(Message message, SecurityProtocolCorrelationState correlationState, Boolean isBlockingCall, TimeSpan timeout, SecurityToken& token, SecurityTokenParameters& tokenParameters, SecurityToken& prerequisiteWrappingToken, IList`1& supportingTokens, SecurityProtocolCorrelationState& newCorrelationState) в System.ServiceModel.Security.SymmetricSecurityProtocol.SecureOutgoingMessageCore(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState) в System.ServiceModel.Security.MessageSecurityProtocol.SecureOutgoingMessage(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState) в System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout) в System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout) в System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout) в CryptoPro.Sharpei.ServiceModel.CPSecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout) в System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout) в System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout) в System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout) в System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade) в System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]: в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) в Web.Api.Client.PersonalApiService.IPersonalApiService.TestAuthentication() в Web.Api.Client.Logic.DataProvider.TestAuthentication() в C:\Web.Api.Client\Logic\DataProvider.cs:строка 29 в Web.Api.Client.ViewModels.AuthenticationViewModel.<Login>b__29_0() в C:\Web.Api.Client\ViewModels\AuthenticationViewModel.cs:строка 223 Биндинг прописан так: Цитата:<wsHttpBinding> <binding name="wsHttpUserNameBinding" closeTimeout="01:00:00" openTimeout="01:00:00" receiveTimeout="01:00:00" sendTimeout="01:00:00" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"> <readerQuotas maxStringContentLength="2147483647" /> <security> <transport clientCredentialType="None" /> <message clientCredentialType="UserName" negotiateServiceCredential="false" /> </security> </binding> </wsHttpBinding> И эндпоинт: Цитата:<client> <endpoint address="http://10.32.201.141:8499/PersonalApi/PersonalApiService.svc/ByUserName" binding="wsHttpBinding" bindingConfiguration="wsHttpUserNameBinding" contract="PersonalApiService.IPersonalApiService" name="wsHttpUserNameEndpoint"> <identity> <certificateReference findValue="7c 00 00 1e f3 5b 00 35 35 1b 7e f3 98 00 01 00 00 1e f3" x509FindType="FindBySerialNumber" storeLocation="LocalMachine" storeName="My" /> </identity> </endpoint> </client> Стоит CSP 4.0.9944 и КП .NET 1.0.6893.0
|