leisure

          JAVA - exceed,helloworld
          隨筆 - 50, 文章 - 0, 評(píng)論 - 11, 引用 - 0
          數(shù)據(jù)加載中……

          Java安裝本地證書(shū)

          一:生成keystore文件
          keytool是Java的數(shù)字證書(shū)管理工具,位于%JAVA_HOME%\bin目錄下,keytool可以將密鑰(key)和證書(shū)(certificates)存在一個(gè)稱為keystore的文件中。

          D:\>keytool -import -file d:\google.cer -keystore d:\google.keystore
          輸入keystore密碼:
          再次輸入新密碼:
          所有者:CN=www.google.com, O=Google Inc, L=Mountain View, ST=California, C=US
          簽發(fā)人:CN=Thawte SGC CA, O=Thawte Consulting (Pty) Ltd., C=ZA
          序列號(hào):2fdfbcf6ae91526d0f9aa3df40343e9a
          有效期: Fri Dec 18 08:00:00 CST 2009 至Mon Dec 19 07:59:59 CST 2011
          證書(shū)指紋:
                   MD5:C4:70:74:FB:69:F9:E3:94:7E:8B:28:A4:00:73:DE:01
                   SHA1:40:50:62:E5:BE:FD:E4:AF:97:E9:38:2A:F1:6C:C8:7C:8F:B7:C4:E2
                   簽名算法名稱:SHA1withRSA
                   版本: 3
          信任這個(gè)認(rèn)證? [否]:  是
          認(rèn)證已添加至keystore中

          此時(shí)D盤根目錄下生成google.keystore文件

          二:信任證書(shū)
          System.setProperty ("javax.net.ssl.trustStore","d:\\google.keystore");
          System.setProperty (
          "javax.net.ssl.trustStorePassword","123456");

          三:校驗(yàn)證書(shū)
          如果證書(shū)中頒發(fā)給的名稱與所通信的地址域名不一致的話,將報(bào)以下錯(cuò)誤:
          javax.net.ssl.SSLException: hostname in certificate didn't match: <www.google.com.hk> != <www.google.com>
          那就需要在通信前重寫校驗(yàn)方法。
          HostnameVerifier hv = new HostnameVerifier() {
              @Override
              public boolean verify(String urlHostName, SSLSession session) {
                  return urlHostName.equals(session.getPeerHost());
              }
          };
          HttpsURLConnection.setDefaultHostnameVerifier (hv);

          posted on 2011-09-17 21:13 leisure 閱讀(2381) 評(píng)論(1)  編輯  收藏 所屬分類: java

          評(píng)論

          # re: Java安裝本地證書(shū)[未登錄](méi)  回復(fù)  更多評(píng)論   

          謝謝,正在google解決此問(wèn)題,你寫的很清楚!
          2012-08-25 11:06 | joe
          主站蜘蛛池模板: 唐山市| 桃园市| 清河县| 东海县| 陵川县| 九龙坡区| 湘潭市| 新沂市| 甘肃省| 台州市| 弋阳县| 武宁县| 西乡县| 墨江| 尉犁县| 满洲里市| 修武县| 中山市| 双峰县| 长丰县| 左云县| 阿坝| 太白县| 曲阜市| 沂源县| 城步| 上林县| 临江市| 攀枝花市| 嘉峪关市| 洛宁县| 赞皇县| 阳信县| 乌鲁木齐市| 陕西省| 莎车县| 根河市| 宜都市| 延川县| 南华县| 兴仁县|