问题 - 我想连接到启用SSL的服务器主机(已从verisign签署证书)。该主机批准/拒绝付款交易。
假设 - 1.不需要ClientAuth。 2.我没有处理HTTPS
我想编写一个将与此主机连接的Java客户端,并将发送请求和接收响应。如果我的理解不正确,请更正。
谢谢, Raj Hebbar
答案 0 :(得分:1)
要创建安全套接字(客户端),您可以使用:
//An SSL socket can't be created from scratch. We need a Factory that
//handles the underlying logic that allows create a SSL socket
SocketFactory socketFactory = SSLSocketFactory.getDefault();
//Get the socket from the Factory
SSLSocket socket = (SSLSocket) socketFactory.createSocket(host, port);
现在,在运行时,当您创建Java客户端/套接字时,工厂将执行着名的“SSL握手”,并将执行一些验证。默认情况下,java客户端/套接字将:
重要说明:解释主机名检查的第一个要点是错误的:SSLSocket不会发生这种情况,但对于HTTPS客户端则不会。感谢@EJP和@Gergely Szilagyi指出这一点
注意:有一种解决这些验证问题的方法,例如:
答案 1 :(得分:0)