我想从JBoss 7应用程序发送电子邮件。SMTP服务器需要具有自签名证书的TLS连接。如果尝试发送电子邮件,则会收到SSLHandshakeException,因为无法检查服务器证书。要解决此问题,我添加了以下内容:http : //springinpractice.com/2012/04/29/fixing-pkix-path-building-issues-when- using-javamail-and-smtp/(将SMTP服务器证书放入java truststore文件)
我的问题是现在如何将信任库文件设置为JBoss 7?
我在stackoverflow和其他论坛上都知道有针对该问题的几种答案。但是我没有找到合适的。
我已经尝试了以下方法:
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/home/stewert.c-on/data/projects/keystore/devel.truststore -Djavax.net.ssl.trustStorePassword=123456"
<jsse keystore-password="123456" keystore-url="/home/stewert.c-on/data/projects/keystore/devel.keystore" truststore-password="123456" truststore-url="/home/stewert.c-on/data/projects/keystore/devel.truststore"/>
但是,如果我在运行时使用’System.getProperty(“ javax.net.ssl.trustStore”)’检查系统环境变量,那么我得到的都是空值!
我的环境:
有人知道出什么事了吗?我必须在哪里设置信任库?
谢谢,史蒂芬
有人在JBoss论坛上问“ javax.net.ssl.trustStore- 指定客户端信任的唯一方法吗? ”,答案基本上是“是”。
他们的方法是system- properties在服务器配置XML 中的一个元素中进行设置,这对我来说似乎也是最好的方法。胜过在运行配置文件中乱搞!
system- properties