【发布时间】:2014-12-03 07:19:53
【问题描述】:
我想使用自签名证书为我对 Denodo 的所有传入 Web 请求启用 https。我该怎么做?
(Denodo 安装了嵌入式 JRE 和 Tomcat)
(我发布这个问题并附上答案,希望其他人觉得它有用)
【问题讨论】:
标签: tomcat https data-virtualization denodo
我想使用自签名证书为我对 Denodo 的所有传入 Web 请求启用 https。我该怎么做?
(Denodo 安装了嵌入式 JRE 和 Tomcat)
(我发布这个问题并附上答案,希望其他人觉得它有用)
【问题讨论】:
标签: tomcat https data-virtualization denodo
注意:如果您想使用自己的信任库(而不是内置的 cacerts),您可以这样做,您的步骤会略有不同,但总体思路是相同的。
注意 2:如果您想使用签名证书,则适用相同的 规则...您的步骤会略有不同,但总体思路是相同的...(而不是将您的证书导入到 cacerts 文件中,您需要生成证书签名请求并进行签名)。
在您的 denodo 服务器上运行以下命令:
$ /lclapps/denodo/jre/bin/keytool -genkey -alias nvdrdenodo2 -keyalg RSA -keystore
~/command_line.keystore`enter code here`
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: first_last
What is the name of your organizational unit?
[Unknown]: Technology
What is the name of your organization?
[Unknown]: My OU
What is the name of your City or Locality?
[Unknown]: San Francisco
What is the name of your State or Province?
[Unknown]: CA
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=first_last, OU=Technology, O=My OU, L=San Francisco, ST=CA, C=US correct?
[no]: yes
Enter key password for <nvdrdenodo2>
(RETURN if same as keystore password):
您必须确保密钥对密码与密钥库密码相同。记住密码:-)
运行以下命令并确保包含您在步骤 1 中使用的密码。
/lclapps/denodo/jre/bin/keytool -exportcert -alias nvdrdenodo2 -keystore ~/command_line.keystore -storepass MyPassword -rfc -file ~/nvdrdenodo2.cer
/lclapps/denodo/jre/bin/keytool -import -alias nvdrdenodo2 -keystore /lclapps/denodo/jre/lib/security/cacerts -file ~/nvdrdenodo2.cer
Enter keystore password:
Owner: CN=first_last, OU=Technology, O=My OU, L=San Francisco, ST=CA, C=US
Issuer: CN=first_last, OU=Technology, O=My OU, L=San Francisco, ST=CA, C=US
Serial number: 54341d2a
Valid from: Tue Oct 07 11:04:42 MDT 2014 until: Mon Jan 05 10:04:42 MST 2015
Certificate fingerprints:
MD5: 3A:9F:37:16:3F:17:9B:BF:3A:95:CE:2C:ED:8A:FF:22
SHA1: 6A:9E:75:68:7A:33:2C:F9:E3:11:01:CC:2E:7B:00:4C:B8:D2:E6:AF
Signature algorithm name: SHA1withRSA
Version: 3
Trust this certificate? [no]: yes
Certificate was added to keystore
Certificate stored in file </home/user_account/nvdrdenodo2.cer>
我们现在将 tomcat 配置为使用我们的密钥库,并将信任库行注释掉,因为默认情况下它将使用嵌入式 JRE cacerts 文件。
vi /lclapps/denodo/resources/apache-tomcat/conf/tomcat.properties
com.denodo.tomcat.home=/lclapps/denodo-5.0/resources/apache-tomcat
com.denodo.tomcat.http.port=9090
com.denodo.tomcat.shutdown.port=9099
com.denodo.tomcat.jmx.port=9098
com.denodo.tomcat.engine.name=DenodoPlatform-5.0
com.denodo.tomcat.export.dirname=export
com.denodo.tomcat.http.log=true
com.denodo.tomcat.https.enable=true
com.denodo.tomcat.https.port=9443
com.denodo.security.ssl.enabled=true
com.denodo.security.ssl.keyStore=/home/user_account/command_line.keystore
com.denodo.security.ssl.keyStorePassword=password
#com.denodo.security.ssl.trustStore=
#com.denodo.security.ssl.trustStorePassword=
java.env.DENODO_OPTS_START=-Xmx2056m -XX\:MaxPermSize\=256m
重新启动 Denodo,然后转到 https://yourserver:9443/denodo-restfulws/admin 并查看它是否有效(或转到已发布 Web 服务的任何 url)。你应该得到一个证书错误:
添加例外,您现在可以使用自己的证书通过 HTTPS 访问 Denodo Tomcat!
【讨论】: