java发送https请求证书问题_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java发送https请求证书问题

java发送https请求证书问题

 2012/10/15 10:37:53  gaochunhu  程序员俱乐部  我要评论(0)
  • 摘要:配证书:GettingTomcatSSL(https)Working1.Createacertificatekeystorecontainingasingleself-signedcertificatebyexecutingthefollowingcommand.Specifyapasswordvalueof"changeit".NotethatthiscommandcreatesboththecertificateandthekeystoreWindows
  • 标签:Java 问题 HTTP
配证书:

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()); 
   }
发表评论
用户名: 匿名