在 Tomcat 中配置信任库

问题描述 投票:0回答:4

我当前在 Tomcat 7 (Windows) 上运行一个 Java servlet,它连接到 SQL Server 数据库。我现在需要加密此连接,并且我在密钥库中有一个公钥 SSL 证书。但显然我必须为“信任库”配置系统属性并将信任库设置为密钥库。 密钥库位置是 C:\SSLKeys ppkeystore.key,根据我的发现,我必须使用以下内容设置信任库;

Djavax.net.ssl.trustStore=C:\SSLKeys\appkeystore.key Djavax.net.ssl.trustStorePassword=appkeystorePassword

但是我该如何设置这些呢?我已经在命令行中尝试过,但似乎不起作用。我不想在 Java 中对它们进行硬编码,因为我需要它们是可配置的。

这些可以在Tomcat的

Catalina.bat

文件中设置吗?如果是这样,我应该将命令放在文件中的哪个位置?

    

java ssl tomcat7
4个回答
27
投票

set JAVA_OPTS="-Djavax.net.ssl.trustStore=C:\path\to\keystore.key" "-Djavax.net.ssl.trustStorePassword=************"

显然,当 Tomcat 启动时,它会启动 catalina.bat 文件,catalina.bat 文件确定 setenv.bat 文件是否存在,如果存在,则运行此文件来设置 Java 选项。

如果我错了,请再次纠正我,并建议任何更好的方法。虽然显然 Tomcat 被设置为 Windows 服务,但上面的选项是通过 tomcatXw.exe 输入的,以启动 Tomcat 控制台并选择 Java 选项卡。


14
投票
1. 导航至\

中的omcat目录 2.根据您的机器编辑catalina.sh/bat。
3.将这些属性添加到JAVA_OPTS属性中


JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=$CATALINA_HOME/certificates/truststore.ks -Djavax.net.ssl.trustStorePassword=truststorePassword -server"

这实际上会告诉 tomcat 使用指定的信任库,而不是默认的 
cacerts

信任库,如果 Tomcat 找不到系统属性中指定的任何信任库,则会加载该信任库。 此外,我注意到可以在 tomcat 的主配置文件

server.xml

中定义信任库。您所要做的就是在 connector 属性中设置这些属性。 <Connector port="8443" maxThreads="500" server="Apache" scheme="https" secure="true" SSLEnabled="true" acceptCount="500" keystoreFile="/apps/content/certificates/keystore.ks" keystorePass="keystorepass" truststoreFile="/apps/content/certificates/truststore.ks" truststorePass="truststorePassword"/>

尝试一下,希望有帮助!


3
投票
Linux

服务器: TOMDOGEDIRECTORY/bin/

setenv.sh

[你需要自己创建这个文件] JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/opt/meh_tuststove.jks" JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStorePassword=muchsecure" export JAVA_OPTS



0
投票
server.xml

文件。您可以在

conf/
目录中找到它。
首先取消注释这些行:

<!-- <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> -->

然后像这样改变它

<Connector SSLEnabled ="true" acceptCount ="100" clientAuth ="false" disableUploadTimeout ="true" enableLookups ="false" maxThreads ="25" port ="8443" keystoreFile ="C:\SSLKeys\appkeystore.key" keystorePass ="password" protocol ="org.apache.coyote.http11.Http11NioProtocol" scheme ="https" secure ="true" sslProtocol ="TLS" />

© www.soinside.com 2019 - 2024. All rights reserved.