我正在使用org.apache.commons.net.smtp.AuthenticatingSMTPClient建立到SMTP服务器的连接。在建立了初始连接之后,我使用client.execTLS()发送STARTTLS。我想获取远程服务器使用的证书的SMTP TLS证书信息。我很好奇是否可以仅用org.apache.commons.net.smtp库提供的API来实现这一点。
或者,我在Java生态系统中有哪些选项可以以可读的格式输出SMTP TLS证书,最好使用client.execTLS()已经打开的套接字。
Java版本: 11。
发布于 2021-12-04 20:18:49
找到了解决办法。您可以将自己的HostnameVerifier (默认情况下为null)提供给org.apache.commons.net.smtp.AuthenticatingSMTPClient对象:
client.setHostnameVerifier((hostname, session) -> {
// session.getPeerCertificates();
return true;
});https://stackoverflow.com/questions/70225203
复制相似问题