leisure

          JAVA - exceed,helloworld
          隨筆 - 50, 文章 - 0, 評論 - 11, 引用 - 0
          數據加載中……

          Java安裝本地證書

          一:生成keystore文件
          keytool是Java的數字證書管理工具,位于%JAVA_HOME%\bin目錄下,keytool可以將密鑰(key)和證書(certificates)存在一個稱為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
          簽發人:CN=Thawte SGC CA, O=Thawte Consulting (Pty) Ltd., C=ZA
          序列號:2fdfbcf6ae91526d0f9aa3df40343e9a
          有效期: Fri Dec 18 08:00:00 CST 2009 至Mon Dec 19 07:59:59 CST 2011
          證書指紋:
                   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
          信任這個認證? [否]:  是
          認證已添加至keystore中

          此時D盤根目錄下生成google.keystore文件

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

          三:校驗證書
          如果證書中頒發給的名稱與所通信的地址域名不一致的話,將報以下錯誤:
          javax.net.ssl.SSLException: hostname in certificate didn't match: <www.google.com.hk> != <www.google.com>
          那就需要在通信前重寫校驗方法。
          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 閱讀(2380) 評論(1)  編輯  收藏 所屬分類: java

          評論

          # re: Java安裝本地證書[未登錄]  回復  更多評論   

          謝謝,正在google解決此問題,你寫的很清楚!
          2012-08-25 11:06 | joe
          主站蜘蛛池模板: 色达县| 密云县| 裕民县| 宝兴县| 堆龙德庆县| 兰溪市| 筠连县| 呼和浩特市| 贺州市| 博客| 大城县| 禹城市| 石狮市| 南召县| 上思县| 镇雄县| 都江堰市| 合阳县| 荔波县| 黔西县| 贺州市| 鱼台县| 新乡市| 普兰店市| 乌审旗| 金川县| 漠河县| 措勤县| 兖州市| 富平县| 璧山县| 武川县| 广元市| 鄂温| 江阴市| 新安县| 渝中区| 水富县| 长阳| 沽源县| 芮城县|