java发送https请求证书问题

配证书:

Getting Tomcat SSL (https) Working
1.Create a certificate keystore containing a single self-signed certificate by executing the following command. Specify a password value of "changeit ". Note that this command creates both the certificate and the keystore

Windows: 进到%JAVA_HOME%\bin\目录下输入:

keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

产生一个tomcat.keystore 文件
Unix: $JAVA_HOME/bin/ 输入: keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

到D:\Tomcat 5.0\conf目录下输入: keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore
输入keystore密码: changeit
您的名字与姓氏是什么?
[Unknown]: localhost
您的组织单位名称是什么?
[Unknown]: huawei

您的组织名称是什么?
[Unknown]: hell
您所在的城市或区域名称是什么?
[Unknown]: hangzhou
您所在的州或省份名称是什么?
[Unknown]: zhejiang

该单位的两字母国家代码是什么
[Unknown]: ch
CN=localhost, OU=wict, O=hell, L=wuhan, ST=hubei, C=ch 正确吗?
[否]: y

输入 <tomcat> 的主密码
(如果和 keystore 密码相同,按回车): 这里我按了回车
2. Copy the keystore file to CATALINA_HOME/conf 拷贝到tomcat的conf下
3. Uncomment the "SSL HTTP/1.1 Connector " entry in $CATALINA_HOME/conf/server.xml. Your entry should look like:
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!---->

<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile= "/conf/tomcat.keystore "
truststoreFile= "/conf/tomcat.keystore "/>

添加后保存,浏览其中输入以下地址访问tomcat首页 https://localhost:8443
4. Copy the keystore file to the default file location of the Java Applications, then run the Java Application。 拷贝到工程目录下,注意,直接再工程这级目录下面。

5、java代码:

public static void main(String[] args) throws Exception {
//serverkeys是通过keytool生成的自己的证书
System.setProperty( "javax.net.ssl.trustStore", "tomcat.keystore");
System.setProperty( "javax.net.ssl.trustStorePassword", "changeit");
//connect to https https://www.sun.com
URL url = new URL( "https://localhost:8443");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod( "POST");
connection.setDoOutput(true);
connection.setDoInput(true);
System.out.println( "1--Conected to "+ connection.toString());

DataOutputStream(connection.getOutputStream());
StringBuffer outbuff = new StringBuffer();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
outbuff.append(line);
}
in.close();
System.out.println( "3---Test : " + outbuff.toString());
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值