2016-11-18 1 views
0

У меня проблема с моим плагином, когда я пытаюсь использовать метод из справочной службы. У меня есть клиент, который посылает параметры к веб-службы, что затем посылает эти параметры мой плагин, то я должен взять эти параметры и отправить их на веб-службы с использованием эталонного метода веб , Чтобы получить доступ к веб-сервису, мне нужно использовать сертификат, который был исполнен компанией, которая владеет последним веб-сервисом. Код, который я использую это:Не удалось создать безопасный канал SSL/TLS из плагина в веб-службу

BasicHttpsBinding binding = new BasicHttpsBinding 
      { 
       Security = new BasicHttpsSecurity 
       { 
        Transport = new HttpTransportSecurity 
        { 
         ClientCredentialType = HttpClientCredentialType.Certificate 
        } 
       } 
      }; 

UploaderServiceClient client = new UploaderServiceClient(binding, new EndpointAddress(args.EndPoint)); 

client.ClientCredentials.ClientCertificate.SetCertificate(StoreLocation.LocaMachine, StoreName.My, X509FindType.FindBySerialNumber, args.SerialNum); 

client.approveTransportDocument(appC, FileDesc); 

После того как я использую этот код я получаю исключение:

The request was aborted: Could not create SSL/TLS secure channel. 

Последние веб-сервис работает отлично и сертификат является действительным, потому что, если я использую тот же код на форме он отлично работает. EDIT: Я добавляю исключение, я получаю, может быть, это поможет:

System.ServiceModel.Security.SecurityNegotiationException: не удается установить безопасный канал для SSL/TLS с органом «IMAS-ws.vmi. л». ---> System.Net.WebException: запрос был прерван: не удалось создать безопасный канал SSL/TLS. на System.Net.HttpWebRequest.GetResponse() в System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply (TimeSpan тайм-аут) --- Конец внутренней трассировки стека исключений ---

сервера трассировки стека: в System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException (WebException WebException, HttpWebRequest запрос, HttpAbortReason abortReason)
на System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply (TimeSpan тайм-аут) в System.ServiceModel.Channels.RequestChannel .request (сообщение Сообщения, TimeSpan тайм-аут) в System.ServiceModel.Dispatcher.RequestChannelBinder.Request (Message сообщения, TimeSpan таймаут) в System.ServiceModel.Channels.ServiceChannel.Call (String действия, Boolean односторонний, операции ProxyOperationRuntime , Object [] модули, Object [] выходы, TimeSpan тайм-аут) при System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (IMethodCallMessage methodCall, операция ProxyOperationRuntime) при System.ServiceModel.Channels.ServiceChannelProxy.Invoke (IMessage сообщения)

Исключение, снятое в [0]: по System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (Шеззаде reqMsg, Шеззаде retMsg) при System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & msgData, тип Int32) при Eur_Iz.Ie.UploaderService. submitTransportDocument (TransportDocument LocalTransportDocument, FileDescription ContextInformation, AdditionalContext AdditionalContext) при Eur_Iz.Ie.UploaderServiceClient.submitTransportDocument (TransportDocument LocalTransportDocument, FileDescription ContextInformation, AdditionalContext AdditionalContext) в U: \ DPb \ Plns \ Eur_Iz \ Сервис Литература \ Ie \ Reference ,CS: линия 3295 в Eur_Iz.ClientPlugin.DataHandling (IServicePluginArgs арг)

ответ

1

Это может быть что-то с сертификатом клиента или сертификата сервера. Это могут быть проблемы доверия (сертификаты CA отсутствуют на клиенте или сервере).

Включение журнала событий CAPI2 может дать вам ответ, почему он Could not create SSL/TLS secure channel. Журнал CAPI2 по умолчанию отключен. Когда вы включите его, попробуйте снова выполнить запрос. Должны быть некоторые ошибки, которые будут содержать полезную информацию о причине.

0

После получения справки pepos я узнал, что корневой сертификат не был доверен, поскольку ему доверяли моему пользователю не всю машину после повторной регистрации моего сертификата и корневого сертификата, ошибка, при которой «root не доверена», была но я все равно получаю сообщение об ошибке «Не удалось создать безопасный канал SSL/TLS».

 Смежные вопросы

  • Нет связанных вопросов^_^