Отключить проверку имени хоста для соединений SSL? - PullRequest
2 голосов
/ 09 сентября 2010

Я использую clojure-http для создания следующего POST:

(clojure-http.resourcefully/post "https://android.apis.google.com/c2dm/send"
  {"Authorization" (str "GoogleLogin auth=" auth-token)}
  {"registration_id" registration-id
   "data.msg" "blah"
   "collapse_key" "blah"})

И получаю это исключение:

java.security.cert.CertificateException: No subject alternative DNS name matching android.apis.google.com found.
[Thrown class javax.net.ssl.SSLHandshakeException]

По какой-то странной причине, примерно в 10% случаевЯ не получаю исключение, и запрос проходит.

Я полагаю, что это проблема с проверкой имени хоста Java на соединениях SSL *, поэтому мой вопрос, как мне отключить это?из Clojure?(или это плохая идея с точки зрения безопасности?)

Спасибо, Вей

*, выведенный из этого поста, и другие подобные: http://www.jroller.com/hasant/entry/no_subject_alternative_names_matching

1 Ответ

2 голосов
/ 09 сентября 2010

Это не проблема с вашим кодом, это проблема с сайтом Android.

Откройте эту ссылку в современном браузере - https://android.apis.google.com/. Вы увидите, что сертификат SSL принадлежит *.google.com, но вы посещаете домен под *.apis.google.com.Возможно, вам следует поискать на форумах Android решение этой проблемы.

Плохая идея отключить проверку имени хоста, вы открываете себя для атак "человек посередине".Если вы действительно не заботитесь о безопасности, вы также можете использовать http, это проще, чем отключение проверки имени хоста.

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