关于SSL/TSL的handshake控制的问题,急

瓦力Wall-E 2005-03-17 10:33:12
我需要在SSL/TSL的handshake过程中对客户端的证书(X.509)的扩展属性进行校验,请问在Java中如何来实现?最好提供一个例子,谢谢。
我的程序如下:
........
SSLServerSocketFactory sf = .....;

SSLServerSocket serversocket = (SSLServerSocket) sf.createServerSocket(
HTTPS_PORT);
serversocket.setNeedClientAuth(true);
........


SSLSocket client = (SSLSocket) serversocket.accept();

SSLSession session = client.getSession();
session.getLocalCertificates();
X509Certificate cert = (X509Certificate) client.getSession().
getPeerCertificates()[0];
String peer = cert.getSubjectDN().getName();
System.out.println(ident + ": Request from " + peer);

Set critSet = cert.getCriticalExtensionOIDs();
if (critSet != null && !critSet.isEmpty()) {
System.out.println("Set of critical extensions:");
for (Iterator i = critSet.iterator(); i.hasNext(); ) {
String oid = (String) i.next();
System.out.println(oid);
}
}

ProcessConnection cc = new ProcessConnection(client);

当程序执行到SSLSession session = client.getSession();时handshake就已经完成。
谢谢
...全文
119 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
Java

4.9w+

社区成员

Java相关技术讨论
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2005-03-17 10:33
社区公告
暂无公告