简体   繁体   English

证书中的主机名与OAuth请求中的主机名不匹配

[英]Hostname in certificate didn't match in OAuth request

I have created certificate through openssl 我已经通过openssl创建了证书

Openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=nginxsvc/O=nginxsvc"

and import tls.crt through keytool in java as well 并通过java中的keytool导入tls.crt

keytool -import -file C:\Code_Base\Certificates\NGINX_150\tls.crt -storepass changeit -keystore "C:\Program Files\Java\jdk1.8.0_152\jre\lib\security\cacerts"

But i am getting 但是我越来越

16:30:21,046 ERROR [org.keycloak.adapters.OAuthRequestAuthenticator] (http-/0.0.0.0:8080-1) failed to turn code into token: javax.net.ssl.SSLException: hostname in certificate didn't match: <135.209.100.150> != at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:238) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:159) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:140) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.conn.ssl.SSLSocketFactory.verifyHostname(SSLSocketFactory.java:561) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:536) [httpclient-4.3.6.redhat-1.jar:4.3.6.red 16:30:21,046错误[org.keycloak.adapters.OAuthRequestAuthenticator](http- / 0.0.0.0:8080-1)无法将代码转换为令牌:javax.net.ssl.SSLException:证书中的主机名不匹配: <135.209.100.150>!= at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:238)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] org.apache.http.conn上的org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1]。 ssl.AbstractVerifier.verify(AbstractVerifier.java:159)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1]位于org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier。 java:140)位于org.apache.http.conn.ssl.SSLSocketFactory.verifyHostname(SSLSocketFactory.java:561)的[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] [httpclient-4.3 .6.redhat-1.jar:4.3.6.redhat-1]位于org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:536)[httpclient-4.3.6.redhat-1.jar :4.3.6.red hat-1] at org.keycloak.adapters.SniSSLSocketFactory.connectSocket(SniSSLSocketFactory.java:109) [keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final] at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:403) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat- hat-1]在org.keycloak.adapters.SniSSLSocketFactory.connectSocket(SniSSLSocketFactory.java:109)[keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final]在org.apache.http.conn .ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:403)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1]位于org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator .java:177)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1],位于org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)[httpclient- 4.3.6.redhat-1.jar:4.3.6.redhat-1],位于org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)[httpclient-4.3.6.redhat-1。 jar:4.3.6.redhat-1]位于org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat- 1],位于org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat- 1] at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) [httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] at org.keycloak.adapters.ServerRequest.invokeAccessCodeToToken(ServerRequest.java:107) [keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final] at org.keycloak.adapters.OAuthRequestAuthenticator.resolveCode(OAuthRequestAuthenticator.java:327) [keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final] at org.keycloak.adapters.OAuthRequestAuthenticator.authenticate(OAuthRequestAuthenticator.java:273) [keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final] at org.keyclo 1]在org.apache.http上的org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] .impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1]位于org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:106)[httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1]在org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)[ org.keycloak.adapters.ServerRequest.invokeAccessCodeToToken(ServerRequest.java:107)上的httpclient-4.3.6.redhat-1.jar:4.3.6.redhat-1] [keycloak-adapter-core-2.4.0.Final。 jar:2.4.0.Final]位于org.keycloak.adapters.OAuthRequestAuthenticator.resolveCode(OAuthRequestAuthenticator.java:327)[keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final]位于org.keycloak org.keyclo上的.adapters.OAuthRequestAuthenticator.authenticate(OAuthRequestAuthenticator.java:273)[keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final] ak.adapters.RequestAuthenticator.authenticate(RequestAuthenticator.java:130) [keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final] at org.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve.authenticateInternal(AbstractKeycloakAuthenticatorValve.java:208) [keycloak-tomcat-core-adapter-2.4.0.Final.jar:2.4.0.Final] at org.keycloak.adapters.jbossweb.KeycloakAuthenticatorValve.authenticate(KeycloakAuthenticatorValve.java:39) [keycloak-as7-adapter-2.4.0.Final.jar:2.4.0.Final] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve.invoke(AbstractKeycloakAuthenticatorValve.java:187) [keycloak-tomcat-core-adapter-2.4.0.Final.jar:2.4.0.Final] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21] at org.apache.catali ak.adapters.RequestAuthenticator.authenticate(RequestAuthenticator.java:130)[keycloak-adapter-core-2.4.0.Final.jar:2.4.0.Final] at org.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve.authenticateInternal(AbstractKeycloakAuthenticatorValve。 java:208)[keycloak-tomcat-core-adapter-2.4.0.Final.jar:2.4.0.Final] at org.keycloak.adapters.jbossweb.KeycloakAuthenticatorValve.authenticate(KeycloakAuthenticatorValve.java:39)[keycloak-as7 -adapter-2.4.0.Final.jar:2.4.0.Final]位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)[jbossweb-7.5.7.Final-redhat-1.jar :7.5.7.Final-redhat-1],位于org.keycloak.adapters.tomcat.AbstractKeycloakAuthenticatorValve.invoke(AbstractKeycloakAuthenticatorValve.java:187)[keycloak-tomcat-core-adapter-2.4.0.Final.jar:2.4.0 .final]位于org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)[jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat -21]在org.apache.catali na.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] at java.lang.Thread.run(Thread.java:748) [r na.core.StandardHostValve.invoke(StandardHostValve.java:150)[jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]位于org.apache.catalina.valves.ErrorReportValve。在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :)上调用(ErrorReportValve.java:97)[jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1] 102)[jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)[jbossweb-7.5 .7.Final-redhat-1.jar:7.5.7.Final-redhat-1],位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854)[jbossweb-7.5.7.Final-redhat -1.jar:7.5.7.Final-redhat-1],位于org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:653)[jbossweb-7.5.7.Final-redhat-1.jar :7.5.7.Final-redhat-1],位于org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:926)[jbossweb-7.5.7.Final-redhat-1.jar:7.5 .7.Final-redhat-1],位于java.lang.Thread.run(Thread.java:748)[r t.jar:1.8.0_152] t.jar:1.8.0_152]

A common name mismatch error occurs when the common name (or SAN s) of your SSL/TLS certificate does not match the host + domain name that another service connects to when trying to reach your service. 当您的SSL / TLS证书的公用名 (或SAN )与另一个服务尝试连接到该服务的主机+域名不匹配时,会发生公用名不匹配错误。

Your CommonName (CN=nginxsvc) should match the host and domain name / IP of the service. 您的CommonName(CN = nginxsvc)应该与主机和服务的域名/ IP相匹配。 So if your service is at nginxservice.yourdomain.com , the certificate commonname should also be nginxservice.yourdomain.com . 因此,如果您的服务位于nginxservice.yourdomain.com ,则证书通用名也应为nginxservice.yourdomain.com If you are using an IP just for development purposes, you can also use that until you have a DNS entry for your service. 如果您仅将IP用于开发目的,则也可以使用该IP,直到拥有用于服务的DNS条目为止。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM