Java &引用;没有主题替代DNS名称匹配<;api.hostname.net>;“发现”;使用RestTemplate时出错

Java &引用;没有主题替代DNS名称匹配<;api.hostname.net>;“发现”;使用RestTemplate时出错,java,spring,apache,spring-boot,ssl,Java,Spring,Apache,Spring Boot,Ssl,我一直在尝试向API url发送RestTemplate请求,如下所示: https://api.something.hostname.net/api/key=key¶meter1=val1&etc 它应该返回一个JSON响应。但它会产生以下错误: javax.net.ssl.SSLPeerUnverifiedException:证书: 现在它抛出: Caused by: java.security.cert.CertificateException: No subject altern

我一直在尝试向API url发送RestTemplate请求,如下所示:

https://api.something.hostname.net/api/key=key¶meter1=val1&etc

它应该返回一个JSON响应。但它会产生以下错误:
javax.net.ssl.SSLPeerUnverifiedException:证书:

现在它抛出:

Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching api.rasp.yandex.net found.
    at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:214) ~[na:1.8.0_172]
    at sun.security.util.HostnameChecker.match(HostnameChecker.java:96) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:200) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) ~[na:1.8.0_172]
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1596) ~[na:1.8.0_172]
    ... 56 common frames omitted
该示例使用HttpClient发出了一个成功的请求。我可以解决RestTemplate的问题吗,还是必须转到HttpClient


如何在开发阶段暂时禁用SSL检查?这是一个可以在本地解决的问题,还是API提供商的证书问题?

可以在这个答案中找到解决方案。谢谢@charles_chung,我稍后再看。但目前我已经找到了解决办法。这个问题不知何故与Spring Boot有关。奇怪的是,在应用程序开始时向所需URL发出一个restTemplate请求就解决了这个问题
Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching api.rasp.yandex.net found.
    at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:214) ~[na:1.8.0_172]
    at sun.security.util.HostnameChecker.match(HostnameChecker.java:96) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:200) ~[na:1.8.0_172]
    at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) ~[na:1.8.0_172]
    at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1596) ~[na:1.8.0_172]
    ... 56 common frames omitted