Проблема при создании прокси-сервера службы из WSDL с недопустимым сертификатом SSL

Я пытаюсь написать небольшое приложение, которое обращается к веб-сервису, но у веб-сервиса недействительный сертификат SSL. Я не могу контролировать этот факт, так как он регулируется третьей стороной.

Я попытался получить доступ к сайту через IE (как администратор и как мой собственный пользователь) и установить сертификат, но, похоже, он не очень эффективен, поскольку в следующий раз, когда я перейду на него, я получаю ту же ошибку.

Когда я запускаю svcutil, я получаю следующий результат:

C:\Personal>svcutil.exe https://b2b:9443/LiveFeed.svc?wsdl
Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.2152]
Copyright (c) Microsoft Corporation.  All rights reserved.

Attempting to download metadata from 'https://b2b:9443/LiveFeed.svc?wsdl' using
WS-Metadata Exchange or DISCO.
Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version 3.0.4506.2152]
Copyright (c) Microsoft Corporation.  All rights reserved.

Error: Cannot obtain Metadata from https://b2b:9443/LiveFeed.svc?wsdl

If this is a Windows (R) Communication Foundation service to which you have acce
ss, please check that you have enabled metadata publishing at the specified addr
ess.  For help enabling metadata publishing, please refer to the MSDN documentat
ion at http://go.microsoft.com/fwlink/?LinkId=65455.


WS-Metadata Exchange Error
    URI: https://b2b:9443/LiveFeed.svc?wsdl

    Metadata contains a reference that cannot be resolved: 'https://b2b:9443/Liv
eFeed.svc?wsdl'.

    Could not establish trust relationship for the SSL/TLS secure channel with a
uthority 'b2b:9443'.

    The underlying connection was closed: Could not establish trust relationship
 for the SSL/TLS secure channel.

    The remote certificate is invalid according to the validation procedure.


HTTP GET Error
    URI: https://b2b:9443/LiveFeed.svc?wsdl

    There was an error downloading 'https://b2b:9443/LiveFeed.svc?wsdl'.

    The underlying connection was closed: Could not establish trust relationship
 for the SSL/TLS secure channel.

    The remote certificate is invalid according to the validation procedure.

If you would like more help, type "svcutil /?"

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

На данный момент я щелкнул ошибку, просмотрите сертификат и установил его. Я пробовал это в хранилище сертификатов, которое Windows выбирает самостоятельно, а в личных и надежных хранилищах ничего из этого не имеет значения.

Даже если мне удастся решить эту проблему, я опасаюсь, что у меня возникнут проблемы при установке приложения на ПК моих клиентов, учитывая, что мы находимся в двух разных странах.

Любая помощь будет оценена.


person Omar Kooheji    schedule 04.12.2010    source источник
comment
Вы когда-нибудь решали эту проблему? У меня та же проблема.   -  person Kyle    schedule 06.07.2011


Ответы (2)


Это может быть так же просто, как установка сертификата корневого ЦС для сертификата.

person Doobi    schedule 04.12.2010
comment
Я пытался установить сертификат несколько раз, но ничего не вышло. Отличается ли сертификат корневого центра сертификации от самого сертификата? Если да, то как мне это установить? - person Omar Kooheji; 06.12.2010
comment
Да, ЦС - это другой сертификат. Это сертификат центра сертификации - тот, который проверяет сертификат, который вы используете. Сертификаты CA от Verisign, Thawte и т. Д. Предустановлены на вашем ПК, поэтому их сертификаты проходят проверку. Вам просто нужен открытый ключ сертификата CA (это может быть файл .cer или .p7b), это должно быть так же просто, как щелкнуть по нему и просто установить его. Вы также можете найти здесь более подробный подход: blogs.technet.com/b/sbs/archive/2008/05/08/ - person Doobi; 07.12.2010

Ответы на этот вопрос могут вам помочь: .net WebService, обойти проверку ssl!

person Jim Flood    schedule 07.12.2010