zoukankan      html  css  js  c++  java
  • Https网站中的安全证书导入到java中的cacerts证书库

    提示: 
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 

    一个很简单的富客户端到WEB 服务器的连接,基本都能够正常建立连接,唯独公司NEXT、TIMS总是报javax.net.ssl.SSLHandshakeException和 sun.security.provider.certpath.SunCertPathBuilderException的异常,网上转了转,找到几篇 前辈的文章,摘下点重点以便以后继续剽与窃。 

    在项目开发中,有时会遇到与SSL安全证书导入打交道,如何把证书导入java的cacerts证书库?简单的用NEXT做个演示: 

    第一步:IE打开https://next.xxxcorp.cn,把要导入java证书库的证书下载 
            在该网页安全警报弹出窗口上查看证书--详细信息--复制到文件 
            会弹出一个证书导出向导对话框,按提示一直下一步直到完成。 
            我把证书保存在C盘,名字为NEXT_CertKey.cer。 

    第二步:将上面导出的证书导入java中的cacerts证书库 
            cmd进入C:Program FilesJavajdk1.5.0_06jrelibsecurity目录 
            敲入如下命令回车执行 
           
    keytool -import -alias cacerts 
                    -keystore C:Program FilesJavajdk1.5.0_06jrelibsecuritycacerts 
                    -file C:NEXT_CertKey.cer 
                    -trustcacerts 

            此时命令行会提示你输入cacerts证书库密码, 
            java中cacerts证书库默认密码为changeit, 
            Y确认即可,OK,认证已添加至keystore。 

    附:URLConnection、URL 
    try { 
          URL url; 
          url = new URL("https://next.xxxcorp.cn"); 
          urlConnection = (HttpURLConnection) url.openConnection(); 
          urlConnection.setDoOutput(true); 
          
          BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); 
          String input = null; 
          while ((input = reader.readLine()) != null) { 
               System.out.println(input); 
          } 
          reader.close(); 
          urlConnection.disconnect(); 
    } catch (IOException e) { 
          e.printStackTrace(); 
    } 
  • 相关阅读:
    键盘的出现于隐藏(解决键盘弹出时会覆盖文本框的问题,代码实现)
    UI入门指引
    OC 面试问题汇总
    通知、block
    协议和代理
    plist文件、NSUserDefault 对文件进行存储的类、json格式解析
    归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)
    Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver
    选择器
    内存管理
  • 原文地址:https://www.cnblogs.com/liuruichao/p/4005897.html
Copyright © 2011-2022 走看看