Вопрос

Мне нужно написать простую программу для работы, которая выполняет следующее:

  1. прочитать конфигурационный файл
  2. подключитесь к куче серверов
  3. установите ssl-сокет
  4. извлеките информацию из сертификата сервера x509, дату истечения срока действия и имя хоста на данный момент
  5. отправьте отчет по электронной почте, когда он будет готов

пункты 3 и 4 - это то, что мне не повезло исследовать / googleing, и я вообще плохо знаю java, начиная с 1.2 примерно в 2001 году

Это было полезно?

Решение 2

Я нашел code snipit, который рассказывает мне, что мне нужно знать о Java по адресу http://www.exampledepot.com/egs/javax.net.ssl/GetCert.html

вот оно:

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) {   
}

Другие советы

Подробное, но всеобъемлющее руководство о внутренних компонентах криптографического расширения Java также можно найти на веб-сайте Oracles: http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top