JavaMail是否支持通过CRL或OCSP进行证书撤销检查?

时间:2017-08-08 00:17:08

标签: java javamail jsse

在最新的几个JavaMail版本中,如果要检查电子邮件服务器的服务器标识,可以在代码中设置JavaMail属性“mail.smtps.ssl.checkserveridentity”。 JavaMail客户端将检查电子邮件服务器证书以防止Man-In-Middle攻击。 (https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html)。

我的问题是,是否有任何JavaMail属性可以设置为检查电子邮件服务器证书是否已通过CRL或OCSP支持被撤销?如果没有,你能以任何方式建议我们这样做吗?

1 个答案:

答案 0 :(得分:1)

如果在JavaMail会话对象中使用属性mail.smtp.ssl.socketFactory设置特定的SocketFactory,那么JavaMail将获得标准com.sun.mail.util.MailSSLSocketFactory,并且此SocketFactory可以使用标准TrustManager,当ocsp.enabled属性设置为 true 时支持OCSP(默认为 false )。

所以,在程序开头添加这一行:

java.security.Security.setProperty("ocsp.enabled", "true");