Как обойти ошибки сертификата в среде разработчиков? - PullRequest
0 голосов
/ 28 июня 2011

У нас есть сертификаты от VeriSign для наших доменов. Однако я пытаюсь провести некоторое тестирование в нашей среде разработки и продолжаю получать ошибки сертификата (поскольку IP-адреса разработки не совпадают с IP-адресами производства, с которыми мы зарегистрировали сертификат), и это вызывает у меня головную боль. Кажется, я не могу точно определить, являются ли проблемы, с которыми я сталкиваюсь, частью внесенных изменений, или эти проблемы связаны с ошибками сертификата.

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

Можно ли как-нибудь обойти эту проблему, не покупая больше сертификатов для моей среды разработки?

1 Ответ

0 голосов
/ 28 июня 2011

Есть два варианта. Первый требует меньше изменений в вашем коде и включает создание новых сертификатов для ваших серверов разработки вместо повторного использования производственных. Вам не нужно их покупать, они могут быть подписаны самостоятельно. Я рекомендую вам создать новый TrustStore только с сертификатами разработки и указать хранилище доверенных сертификатов при запуске вашей программы. java -Djavax.net.ssl.trustStore=truststore -Djavax.net.ssl.trustStorePassword=123456 MyApp Вы также можете добавить сертификаты сервера dev в файл cacerts JDK по умолчанию, который обычно находится в Windows по адресу C: \ Program Files \ Java \ jre6 \ lib \ security \ cacerts. Эта опция менее безопасна, но вам не нужно менять способ запуска клиента.

Второй вариант предполагает изменение кода разработки, чтобы игнорировать эти ошибки. Обычно это включает создание собственного TrustManger и передачу его в SSLSocketFactory. Вот хороший пример: http://exampledepot.com/egs/javax.net.ssl/TrustAll.html Мне не нравится эта опция, потому что вы можете добавить в свой проект небезопасный код, который не проверяет сертификаты сервера.

...