2012-01-24 11 views
0

この奇妙なエラーが発生しています。まあ、間違いは以前にも分かっています。Grails rest plugin SSLexceptionドメイン名の奇妙な比較(ドメイン名/ IPアドレス)

それはドメインを持つだけでIPアドレスを比較していることを示して私が遭遇したすべての同様の問題異なる
<testapi.multisafepay.com/213.189.1.163> 

:しかし、これを(少なくとも私にとっては)ユニークな部分は、それが文句を言っていることであることに注意証明書の名前。

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アプリケーションである0.6.1

どのようなオプション私がまたはSSLドメインの確認を無効にすることなく、どちらか持っていますか?

+0

明確にするために、IPアドレスまたはホスト名で接続しようとしていますか? 'testapi.multisafepay.com/213.189.1.163'はどこから来たのですか? (どのクラスがこの例外をスローするのか、そして/またはスタックトレースをもう少し見るのか? – Bruno

答えて

0

これは、あなたがやっていることに影響を与える可能性が高いコードです。これは、restプラグ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(', ')}") 

     } 
    } 

これらは、さまざまなホスト名検証オプションです。

関連する問題