用Java生成证书
我试图从套接字输入流生成证书,但当我使用方法formCertificateFactory时,它似乎被卡住了。当程序应该结束时,它会在控制台中继续运行 代码如下:用Java生成证书,java,sockets,certificate,x509,Java,Sockets,Certificate,X509,我试图从套接字输入流生成证书,但当我使用方法formCertificateFactory时,它似乎被卡住了。当程序应该结束时,它会在控制台中继续运行 代码如下: public PublicKey getCertificate() throws IOException, CertificateException { String resp= br.readLine(); System.out.println(resp); CertificateFactory cf = C
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握手?不要。已经完成了。如果您希望它具有适当的安全性,那么它不仅仅是传输证书。