Grails rest插件SSLexception域名比较(域名/ip地址)
我犯了一个奇怪的错误。这个错误以前肯定见过。然而,请注意(至少对我来说)这其中独特的部分是它在抱怨:Grails rest插件SSLexception域名比较(域名/ip地址),rest,grails,ssl,httpclient,ssl-certificate,Rest,Grails,Ssl,Httpclient,Ssl Certificate,我犯了一个奇怪的错误。这个错误以前肯定见过。然而,请注意(至少对我来说)这其中独特的部分是它在抱怨: <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/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>
javax.net.ssl.SSLException:证书中的主机名不匹配:!=或
上下文是一个Grails1.3.7应用程序,其“rest”插件版本为0.6.1
在禁用或不禁用ssl域验证的情况下,我有哪些选项?这很可能是影响您所做工作的代码。它来自rest插件0.7,SimpleHttpBuildersLhelper类
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(', ')}")
}
}
以下是您拥有的各种主机名验证选项。只是想澄清一下,您是想通过IP地址还是主机名进行连接?
testapi.multisafepay.com/213.189.1.163
来自哪里?(有没有可能看到哪个类抛出此异常和/或堆栈跟踪的更多部分?)