Запрос сертификатов Clojure и SSL/x.509
-
23-09-2019 - |
Вопрос
Мне нужно написать простую программу для работы, которая выполняет следующее:
- прочитать конфигурационный файл
- подключитесь к куче серверов
- установите ssl-сокет
- извлеките информацию из сертификата сервера x509, дату истечения срока действия и имя хоста на данный момент
- отправьте отчет по электронной почте, когда он будет готов
пункты 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
Не связан с StackOverflow