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   dos   =   new   DataOutputStream(connection.getOutputStream());
//  byte[]  rr   =   new   byte[dos.size()];
//  dos.write(rr,0,rr.length);
//  dos.flush();
//  String   ss   =   new   String(rr);
//  System.out.println("2-----"+ss); 
     
   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()); 
   }

 

 

 

本文链接:https://my.lmcjl.com/post/9113.html

展开阅读全文

4 评论

留下您的评论.