2010-02-27 147 views
2

我需要编写一个简单的程序的工作,执行以下操作:的Clojure和SSL/X.509证书quetion

  1. 读取配置文件
  2. 连接到一堆服务器
  3. 建立SSL套接字
  4. 拉动信息形成服务器的X509证书,当其完成
到期日期和主机名现在
  • 电子邮件报告

    项目3和4是我运气不好,研究/谷歌和我不知道java很好,因为1.2 1.2左右2001

  • +0

    看来以后发布我曾与谷歌有点运气比较好: http://oreilly.com/catalog/javacrypt/chapter/ch06.html 靠近页面的底部: 我们现在有原始证书数据,并可以创建使用X509Certificate类中的getInstance()创建新证书: X509Certificate c = X509Certificate.getInstance(certificateData); 获得X509证书后,Spill会打印出关于它的各种信息。 System.out.println(“Subject:”+ c.getSubjectDN()。getName()); System.out.println(“Valid from”+ c.getNotBefore()+ “to”+ c.getNotAfter()); – ms4720 2010-02-27 23:49:10

    回答

    0

    我发现了一个代码片段告诉我什么我需要知道关于Java在http://www.exampledepot.com/egs/javax.net.ssl/GetCert.html

    那就是:

    try { 
    
        // Create the client socket 
        int port = 443; 
        String hostname = "hostname"; 
        SSLSocketFactory factory = HttpsURLConnection.getDefaultSSLSocketFactory(); 
        SSLSocket socket = (SSLSocket)factory.createSocket(hostname, port); 
    
        // Connect to the server 
        socket.startHandshake(); 
    
        // Retrieve the server's certificate chain 
        java.security.cert.Certificate[] serverCerts = 
         socket.getSession().getPeerCertificates(); 
    
        // Close the socket 
        socket.close(); 
    } catch (SSLPeerUnverifiedException e) { 
    } catch (IOException e) { 
    } catch (java.security.cert.CertificateEncodingException e) { 
    }