Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java生成证书_Java_Sockets_Certificate_X509 - Fatal编程技术网

用Java生成证书

用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

我试图从套接字输入流生成证书,但当我使用方法formCertificateFactory时,它似乎被卡住了。当程序应该结束时,它会在控制台中继续运行

代码如下:

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握手?不要。已经完成了。如果您希望它具有适当的安全性,那么它不仅仅是传输证书。