📄 httpssocketclient.java
字号:
/*
C:\Book\https\SSL_CLient>java -Djavax.net.ssl.trustStore=mykeyt HttpsClient
http/1.0 200 OK
Content-Length: 52
Content_Type:text/html
<html> <head></head><body> <h1> Good </Body></html>
和https\SSL_from_loadKeyStore配合使用
或
C:\Book\https\SSL_CLient>keytool -export -alias mykey -file mykey.cer -keystore
mykeyt
输入keystore密码: mykeyt
保存在文件中的认证 <mykey.cer>
C:\Book\https\SSL_CLient>keytool -import -alias mykey -file mykey.cer -keystore
clienttrust
输入keystore密码: password
Owner: CN=XU, OU=Shanghai Univ., O=SHanghai, L=SH, ST=Nanjin, C=CN
发照者: CN=XU, OU=Shanghai Univ., O=SHanghai, L=SH, ST=Nanjin, C=CN
序号: 3dc4eb3d
有效期间: Sun Nov 03 17:24:13 CST 2002 至: Sat Feb 01 17:24:13 CST 2003
认证指纹:
MD5: C0:3C:FE:0B:36:3E:36:36:45:2D:14:D2:0A:DE:6D:92
SHA1: E3:AE:21:37:64:F4:A2:F0:3A:35:5D:4F:86:B6:52:91:E8:A5:E0:5E
信任这个认证? [否]: 是
认证已添加至keystore中
C:\Book\https\SSL_CLient>
java -Djavax.net.ssl.trustStore=clienttrust HttpsClient
*/
import java.net.*;
import javax.net.*;
import java.io.*;
import javax.net.ssl.*;
import java.security.cert.*;
import java.util.*;
import java.math.*;
import java.security.*;
public class HttpsClient {
public static void main(String args[ ])throws Exception {
try {
int port = 443;
String hostname = "127.0.0.1";
SocketFactory socketFactory = SSLSocketFactory.getDefault();
Socket socket = socketFactory.createSocket(hostname, port);
// Create streams to securely send and receive data to the server
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
out.write("\nHi,How are u!\n\n".getBytes("UTF8"));
out.flush();
BufferedReader bin=new BufferedReader(new InputStreamReader(in));
String line=null;
while((line=bin.readLine())!=null){
System.out.println(line);
}
in.close();
out.close();
} catch(IOException e) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -