Использование HTTPS Webservice во Flex 4 - PullRequest
2 голосов
/ 08 апреля 2011

Я пытаюсь использовать один веб-сервис HTTPS в Adobe Flash Builder.

когда я добавляю URL, я получаю эту ошибку:

Произошла ошибка во время обслуживания самоанализ. WSDLException: faultCode = OTHER_ERROR: невозможно разрешить импортированный документ в «https://172.21.17.235:9443/testehttpsWeb/sca/testeIOExport1/WEB-INF/wsdl/testehttps_testeIOExport1.wsdl'.: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Ошибка построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительное свидетельство путь к запрошенной цели

Как мне настроить мой клиент на использование веб-сервиса?

Ответы [ 2 ]

5 голосов
/ 03 июня 2011

Мы должны будем купить мороженое человеку, который это понял!

Решением было импортировать сертификат не в склад доверенных сертификатов JKS, а в файл cacarets, в моем случае:

keytool -import -alias trust1 -keystore "C: \ Program Files (x86) \ Adobe \ Adobe Flash Builder 4 \ jre \ lib \ security \ cacerts" -file c: \ somepath \ mycert.cer

В этом случае нет необходимости добавлять:

-Djavax.net.ssl.trustStore = "C: \ somepath \ truststore.jks"

... строка на FlashBuilder.ini

Из импортированного примечания следует, что DNS-сервер должен иметь возможность переводить путь веб-службы по имени, а не по IP, поскольку в установленном сертификате CN упоминает имя сервера веб-службы, а не его IP

Привет

3 голосов
/ 08 апреля 2011

Flash Builder построен поверх Eclipse. Eclipse написан на Java, и это, вероятно, причина вашей проблемы. Сама Java не доверяет ни SSL (она не поддерживает корневые СА из коробки, ни какие-либо сертификаты). Вы должны настроить склад доверенных сертификатов для использования SSL с Java.

В eclipse это означает создание хранилища доверенных сертификатов и добавление его местоположения в eclipse.ini. Чтобы настроить хранилище доверенных сертификатов, сначала перейдите в браузере на сайт SSL, к которому вы подключаетесь, и сохраните сертификат (обычно щелкните правой кнопкой мыши левой кнопкой мыши на значке замка и следуйте инструкциям). Вам необходимо использовать «keytool» из Java JDK для создания хранилища доверенных сертификатов, например:

keytool -import -alias trusted1 -keystore c:\somepath\truststore.jks -file c:\somepath\mycert.cer

Затем найдите свой eclipse.ini (обычно в папке Flex Builder или eclipse). Добавьте это:

-Djavax.net.ssl.trustStore="c:\somepath\truststore.jks"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...