我需要编写一个简单的程序的工作,执行以下操作:的Clojure和SSL/X.509证书quetion
- 读取配置文件
- 连接到一堆服务器
- 建立SSL套接字
- 拉动信息形成服务器的X509证书,当其完成
项目3和4是我运气不好,研究/谷歌和我不知道java很好,因为1.2 1.2左右2001
我需要编写一个简单的程序的工作,执行以下操作:的Clojure和SSL/X.509证书quetion
项目3和4是我运气不好,研究/谷歌和我不知道java很好,因为1.2 1.2左右2001
我发现了一个代码片段告诉我什么我需要知道关于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) {
}
一个冗长,但整个指南关于Java密码扩展的内部件在甲骨文网站被发现,以及:http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html
根据我的经验,在StackOverflow上提出有关Java和SSL的问题的人希望获得更多指导,而不仅仅是指向JSSE Ref Guide的链接;-) – Bruno 2012-01-08 19:54:08
看来以后发布我曾与谷歌有点运气比较好: 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