能更深入的介绍一下吗?加入我给你一个URL,我该如何通过JS去验证?

解决方案 »

  1.   

    能更深入的介绍一下吗?加入我给你一个URL,我该如何通过JS去验证?
    证书说明文档里应该有。
      

  2.   

    第一验证日期是否过期,第二验证subject name是否和Host name一致,第三验证那个trustStore是否有这个证书的公钥,但客户端是没办法得到这个服务端的trustStore。我的思路是否对呢?
      

  3.   


    应该是SSL certificate,所以用X.500
      

  4.   

    这个是站点证书即公钥证书,不被信任的证书并不是证书有问题,而是证书不是被受信任的根证书机构或中级证书机构颁发的,就像12306.cn就是不被信任的证书,这个警告是浏览器自己报的, 受信任的根证书机构或中级证书机构的列表是存在于浏览器里面的,如果你用java实现,第一先获得证书,一般.cer结尾,第二获得那个列表,第三把证书的信息取出来比较一下,现在就是第一步比较难
      

  5.   


    final List<X509Certificate> certificateList = new ArrayList<X509Certificate>();
    SSLContextBuilder builder = SSLContexts.custom();
    builder.loadTrustMaterial(null, new TrustStrategy() {
    @Override
    public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    for (X509Certificate certificate : chain) {
    certificateList.add(certificate);
    }
    return true;
    }
    });
    SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(builder.build(), SSLConnectionSocketFactory.STRICT_HOSTNAME_VERIFIER);
    是的,加入我本地自签名的就是不受信任的,我现在想用JAVA来判断这个证书是否是受信任的。
    红色地方就可以获得证书,紫色是验证URL对应的主机是否合法,现在就是怎么获取列表呢?取出来了之后如何比较呢?
      

  6.   

    不明白,是你自己生成的证书吗
    看这个文档是否能帮助你
    http://cnzhx.net/blog/self-signed-certificate-as-trusted-root-ca-in-windows/