首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tomcat中配置Truststore

在Tomcat中配置Truststore
EN

Stack Overflow用户
提问于 2014-02-17 16:01:19
回答 4查看 97.8K关注 0票数 16

我目前在Tomcat 7 (Windows)上运行一个Java,它连接到一个Server数据库。我现在需要加密这个连接,并且我在keystore中有一个公钥SSL证书。但显然,我必须为" truststore“配置一个系统属性,并将信任库设置为keystore。

密钥存储库的位置是C:\SSLKeys\appkeystore.key,根据我所发现的,我必须用以下内容设置Truststore;

代码语言:javascript
复制
Djavax.net.ssl.trustStore=C:\SSLKeys\appkeystore.key
Djavax.net.ssl.trustStorePassword=appkeystorePassword

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

这些可以在Tomcat中的Catalina.bat文件中设置吗?如果是这样的话,我应该在文件中放置命令吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-02-19 16:13:07

我想我可能找到了方法,或者至少找到了一种方法。如果有更好的方法处理这件事,请告诉我。在Tomcat\bin文件夹中,我创建了一个catalina.bat文件,并在其中声明了两个setenv.bat选项属性;

代码语言:javascript
复制
set JAVA_OPTS="-Djavax.net.ssl.trustStore=C:\path\to\keystore.key" "-Djavax.net.ssl.trustStorePassword=************"

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

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

票数 26
EN

Stack Overflow用户

发布于 2015-06-30 15:27:42

如果其他人有这个问题,下面是我所做的:

  1. 导航到\tomcatDirectory\bin
  2. 根据您的机器编辑catalina.sh/bat。
  3. 将这些属性添加到JAVA_OPTS属性

代码语言:javascript
复制
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=$CATALINA_HOME/certificates/truststore.ks -Djavax.net.ssl.trustStorePassword=truststorePassword -server"

这将从本质上告诉tomcat使用指定的信任存储库,而不是默认的仙人掌信任库,如果没有在系统属性中指定任何信任存储,tomcat将加载该信任库。

此外,我注意到可以在tomcat的主配置文件server.xml中定义信任库。您要做的就是在连接器属性中设置这些属性。

代码语言:javascript
复制
<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"/>

试一试,希望它能帮上忙!

票数 14
EN

Stack Overflow用户

发布于 2017-07-27 04:15:31

推荐的答案仅适用于部署在Windows中的Tomcat,我发现以下内容在Linux服务器中适用于我:

TOMDOGEDIRECTORY/bin/setenv.sh您需要自己创建这个文件

代码语言:javascript
复制
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/opt/meh_tuststove.jks" 
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStorePassword=muchsecure" 
export JAVA_OPTS
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21833732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档