2016-04-10 2 views
0

Эй Я пытаюсь создать сертификат из входного потока сокета, но кажется, что он застрял, когда я использую форму метода CertificateFactory. Программа продолжает работать в консоли, когда она должна закончиться.Сгенерировать сертификат, застрявший Java

Вот код:

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(); 
} 

Консоль не показывает ошибки вообще, так что я не знаю, что может быть не так, и я знаю, что сокет получает информацию, так как это является частью более крупной коммуникации протокол и предыдущие сообщения

Любая помощь оценена.

+0

Зачем вам нужен сертификат из сокета? – EJP

+0

@EJP Я имитирую клиент и сервер, они общаются через сокет, поэтому здесь я собираюсь получить сертификат сервера, чтобы я мог продолжить с клиентским протоколом – user3487815

+0

Другими словами, вы переопределяете SSL-квитирование? Не. Уже сделано. Там гораздо больше, чем просто раздавать сертификаты, если вы хотите, чтобы он был надежно защищен. – EJP

ответ

0

Независимо от того, с чем вы подключены, вы не отправляете полный двоичный сертификат или не закрываете сокет.