Grails rest плагин SSLexception странное сравнение доменных имен (domainname / ip-адрес) - PullRequest
0 голосов
/ 24 января 2012

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

<testapi.multisafepay.com/213.189.1.163>

Что отличается от всех аналогичных проблем, с которыми я сталкиваюсь, которые показывают, что он сравнивает только ip-адрес с доменным именем сертификата.

javax.net.ssl.SSLException: hostname in certificate didn't match: <testapi.multisafepay.com/213.189.1.163> != <testapi.multisafepay.com> OR <www.testapi.multisafepay.com> OR <testapi.multisafepay.com>

Контекстом является приложение Grails 1.3.7 с плагином "rest" версии 0.6.1

Какие есть варианты с отключением проверки домена ssl или без него?

1 Ответ

0 голосов
/ 25 января 2012

Скорее всего, это код, который влияет на то, что вы делаете. Это из плагин отдыха 0.7, класс SimpleHTTPBuilderSSLHelper.

if (sslSocketFactory) {
    // Set the hostname verifier for the trusted certificates...
    if (config?.https?.cert?.hostnameVerifier) {
      switch (config.https.cert.hostnameVerifier.toUpperCase()) {
        case CERT_HOSTNAME_VERIFIER_STRICT:
          sslSocketFactory.hostnameVerifier = SSLSocketFactory.STRICT_HOSTNAME_VERIFIER
          break;
        case CERT_HOSTNAME_VERIFIER_ALLOW_ALL:
          sslSocketFactory.hostnameVerifier = SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER
          break;
        case CERT_HOSTNAME_VERIFIER_BROWSER_COMPATIBLE:
          sslSocketFactory.hostnameVerifier = SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER
          break;
        default:
          throw new IllegalArgumentException(
                  "The https.cert.hostnameVerifier doesn't match any of the following ${CERT_HOSTNAME_VERIFIERS.join(', ')}")

      }
    }

Это различные варианты проверки имени хоста.

...