在JBoss 7中设置正确的信任库

时间:2013-02-06 13:35:37

标签: java jboss truststore

我想从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"添加到:
    • 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

有人知道出了什么问题吗?我必须在哪里设置信任库?

谢谢, 斯特芬

1 个答案:

答案 0 :(得分:5)

有人在JBoss论坛上问过“javax.net.ssl.trustStore - only way to specify client trust?”,答案基本上是“是”。

他们的方法是在服务器配置XML中的system-properties元素中设置它,这对我来说似乎也是最好的方法。比运行配置文件更好!