相关疑难解决方法(0)

SSLHandshakeException:收到致命警报:在tomcat 7服务器上设置密码时的handshake_failure

我有一个Tomcat7 Web服务器,我尝试通过将此连接器添加到server.xml文件来配置为接受安全连接:

<Connector SSLEnabled="true"
           acceptCount="100"
           connectionTimeout="20000"
           executor="tomcatThreadPool"
           keyAlias="server"
           keystoreFile="c:\opt\engine\conf\tc.keystore"
           keystorePass="o39UI12z"
           maxKeepAliveRequests="15"
           port="8443"
           protocol="HTTP/1.1"
           redirectPort="8443"
           scheme="https"
           secure="true"
           sslProtocol="TLS"/>
Run Code Online (Sandbox Code Playgroud)

我正在使用使用此命令生成的自签名证书:

%JAVA_HOME%/bin/keytool -genkeypair -keystore c:\opt\engine\conf\tc.keystore -storepass o39UI12z-keypass o39UI12z-dname "cn=Company, ou=Company, o=Com, c=US" -alias server -validity 36500
Run Code Online (Sandbox Code Playgroud)

在客户端,我有一个使用连接服务器的spring应用程序RestTemplate.在应用程序上下文启动时,我以restTemplate这种方式初始化实例:

final ClientHttpRequestFactory clientHttpRequestFactory =
        new MyCustomClientHttpRequestFactory(new NullHostNameVerifier(), serverInfo);
    restTemplate.setRequestFactory(clientHttpRequestFactory);
Run Code Online (Sandbox Code Playgroud)

MyCustomClientHttpRequestFactory类如下所示:

public class MyCustomClientHttpRequestFactory  extends SimpleClientHttpRequestFactory {

private static final Logger LOGGER = LoggerFactory
    .getLogger(MyCustomClientHttpRequestFactory.class);

private final HostnameVerifier hostNameVerifier;
private final ServerInfo serverInfo;

public MyCustomClientHttpRequestFactory (final HostnameVerifier hostNameVerifier,
    final ServerInfo serverInfo) …
Run Code Online (Sandbox Code Playgroud)

encryption ssl tomcat7 resttemplate sslhandshakeexception

7
推荐指数
1
解决办法
2万
查看次数