六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 25|回复: 0

java发送https请求证书问题

[复制链接]

升级  8%

16

主题

16

主题

16

主题

秀才

Rank: 2

积分
62
 楼主| 发表于 2013-2-3 14:15:44 | 显示全部楼层 |阅读模式
配证书:

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());    }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表