Pergunta

Preciso escrever um programa simples para o trabalho que faça o seguinte:

  1. Leia um arquivo de configuração
  2. Conecte -se a um monte de servidores
  3. estabelecer um soquete SSL
  4. Puxe as informações do certificado x509 do servidor, a data de expiração e o nome do host para agora
  5. Envie um relatório por e -mail quando estiver pronto

Os itens 3 e 4 são coisas que tive azar pesquisando/no Google e não conheço bem o Java, desde 1,2 por volta de 2001

Foi útil?

Solução 2

Encontrei um snipit de código que me diz o que preciso saber sobre Java em http://www.exampledepot.com/egs/javax.net.ssl/getcert.html

aqui está:

try {

    // Create the client socket
    int port = 443;
    String hostname = "hostname";
    SSLSocketFactory factory = HttpsURLConnection.getDefaultSSLSocketFactory();
    SSLSocket socket = (SSLSocket)factory.createSocket(hostname, port);

    // Connect to the server
    socket.startHandshake();

    // Retrieve the server's certificate chain
    java.security.cert.Certificate[] serverCerts =
        socket.getSession().getPeerCertificates();

    // Close the socket
    socket.close();
} catch (SSLPeerUnverifiedException e) {
} catch (IOException e) {
} catch (java.security.cert.CertificateEncodingException e) {   
}

Outras dicas

Um guia verboso, mas em todo o guia sobre as internações da extensão criptográfica java, também é encontrada no site da Oracles: http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/jssserefguide.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top