我想从 JBoss 7 应用程序发送电子邮件。SMTP 服务器需要带有自签名证书的 TLS 连接。如果我尝试发送电子邮件,则会收到 SSLHandshakeException,因为无法检查服务器证书。为了解决这个问题,我添加了这个:http ://springinpractice.com/2012/04/29/fixing-pkix-path-building-issues-when-using-javamail-and-smtp/ (将 SMTP 服务器证书放入java 信任库文件)
我现在的问题是如何将信任库文件设置为 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"
到:- jboss-as-7.1.1.Final/bin/standalone.conf
- jboss-as-7.1.1.Final/bin/domain.conf
- jboss-as-7.1.1.Final/bin/appclient.conf
- 添加
<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"/>
到 jboss-as-7.1.1.Final/standalone/configuration/standalone.xml
但是,如果我在运行时使用'System.getProperty(“javax.net.ssl.trustStore”)'检查系统环境变量,我在每种情况下都会得到null!
我的环境:
- Linux
- JBoss 7.1
- JDK 7
- 我在 eclipse Juno 中启动 JBoss
有人知道出了什么问题吗?我必须在哪里设置信任库?
谢谢,史蒂芬