【问题标题】:How do I enable HTTPS for the embedded tomcat in Denodo?如何为 Denodo 中的嵌入式 tomcat 启用 HTTPS?
【发布时间】:2014-12-03 07:19:53
【问题描述】:

我想使用自签名证书为我对 Denodo 的所有传入 Web 请求启用 https。我该怎么做?

(Denodo 安装了嵌入式 JRE 和 Tomcat)

(我发布这个问题并附上答案,希望其他人觉得它有用)

【问题讨论】:

    标签: tomcat https data-virtualization denodo


    【解决方案1】:

    使用自签名证书启用 HTTPS 包括几个步骤:

    1. 创建密钥对并将其添加到密钥库中
    2. 从密钥库中的密钥对中提取证书
    3. 将您的证书添加到嵌入式 JRE cacerts 文件中
    4. 配置 Denodo Tomcat 以使用您的密钥库和默认的 cacerts 文件

    注意:如果您想使用自己的信任库(而不是内置的 cacerts),您可以这样做,您的步骤会略有不同,但总体思路是相同的。

    注意 2:如果您想使用签名证书,则适用相同的 规则...您的步骤会略有不同,但总体思路是相同的...(而不是将您的证书导入到 cacerts 文件中,您需要生成证书签名请求并进行签名)。

    第 1 步:创建密钥对并将其添加到新的密钥库中

    在您的 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):
    

    必须确保密钥对密码与密钥库密码相同。记住密码:-)

    第 2 步:将您的密钥提取为 PEM 格式的证书

    运行以下命令并确保包含您在步骤 1 中使用的密码。

    /lclapps/denodo/jre/bin/keytool -exportcert -alias nvdrdenodo2 -keystore ~/command_line.keystore -storepass MyPassword -rfc -file ~/nvdrdenodo2.cer
    

    第 3 步:将 .cer 文件导入嵌入式 JRE 的 cacerts 文件

    /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>
    

    第 4 步:更新您的 $DENODO_HOME/resources/apache-tomcat/conf/tomcat.properties 文件

    我们现在将 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!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-15
      • 2015-09-11
      • 1970-01-01
      • 2012-03-25
      • 2020-07-18
      • 2012-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多