【发布时间】:2016-07-31 21:41:17
【问题描述】:
我正在尝试从套接字输入流生成证书,但是当我使用 CertificateFactory 形式的方法时,它似乎卡住了。程序在应该结束时继续在控制台中运行。
代码如下:
public PublicKey getCertificate() throws IOException, CertificateException
{
String resp= br.readLine();
System.out.println(resp);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
System.out.println("GOING TO CREATE CERTIFICATE");
Certificate certificate = cf.generateCertificate(socket.getInputStream()); //GETS STUCK
System.out.println("SUCCESS");
pw.println(RTA+":"+OK);
return certificate.getPublicKey();
}
控制台没有显示任何错误,所以我不知道可能出了什么问题,我也知道套接字正在获取信息,因为这是更大的通信协议的一部分,并且之前的通信正常
【问题讨论】:
-
为什么要从套接字获取证书?
-
@EJP 我正在模拟客户端和服务器,它们通过套接字进行通信,所以在这里我正在尝试获取服务器的证书,以便继续使用客户端协议
-
换句话说,您正在重新实现 SSL 握手?别。已经完成了。如果您希望它具有适当的安全性,它不仅仅是传输证书。
标签: java sockets certificate x509