Я хочу получить сертификат с сервера в Linux, но я не хочу использовать команды openssl в терминале. Я хочу реализовать это в своем java-проекте, где я хочу подключиться к защищенному TLS-серверу POP3S. Мне удалось подключиться с помощью: openssl s_client -connect [host]:[port|443] < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > [host].crt
, а затем я добавил этот сертификат к своим доверенным с помощью keytool -import -noprompt -trustcacerts -alias <AliasName> -file <certificate> -keystore <KeystoreFile> -storepass <Password>
, и он работает. Могу ли я добиться этого с помощью кода (если да, КАК?)? С этим вопросом все иначе Как получить цепочку сертификатов сервера, а затем проверить ее действительность и надежность в Java, потому что мне нужно получить сертификат с локального сервера POP3S (защищенного с помощью TLS)
SSLSocketFactory
, чтобы создатьSSLSocket
, затем вы можете вызватьgetSession()
, чтобы получить _ 4_, где вы можете вызватьgetPeerCertificates()
, чтобы получить _ 6_, который вам нужен. - person Andreas   schedule 05.04.2017