使用自签名证书进行TLS

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_43215250/article/details/83383201

使用自签名证书获取TLS/SSL配置的证书,用于非生产或测试环境。

  1. 创建证书的目录

    $ mkdir -p /opt/cloudera/security/x509/ /opt/cloudera/security/jks/
    

    访问该目录,并设置正确的权限,然后切换到jks目录下:

    $ sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/security/jks
    $ sudo umask 0700
    $ cd /opt/cloudera/security/jks
    
  2. 生成密钥对和自签名证书
    密钥库和storepass使用相同密码并将内容存储在密钥库。
    使用CN的当前主机的FQDN来避免引发java.io.IOException:HTTPS主机名错误例外。
    使用你需要的值替换OU,O,L,ST和C的值:

    keytool -genkeypair -alias cmhost -keyalg RSA -keysize 2048 -dname "cn=cm01.example.com, ou=Department,
    o=Company, l=City, st=State, c=CN" -keypass password -keystore example.jks -storepass password
    
  3. 复制默认Java信任库(cacerts中)到备用系统信任库(jssecacerts)

    $ sudo cp $JAVA_HOME/jre/lib/security/cacerts $JAVA_HOME/jre/lib/security/jssecacerts
    
  4. 从密钥库中导出证书(example.jks)

    $ keytool -export -alias cmhost -keystore example.jks -rfc -file selfsigned.cer
    
  5. 复制自签名证书
    将自签名证书(selfsigned.cer)复制到 /opt/cloudera/security/x509/目录下

    $ cp selfsigned.cer /opt/cloudera/security/x509/cmhost.pem
    
  6. 将公钥导入备用系统信任库(jssecacerts)
    这台机器上用Java运行的任何进程都会信任该密钥。Java信任库的默认密码是changeit。请勿在步骤2中使用为密钥库创建的密码。

    $ keytool -import -alias cmhost -file /opt/cloudera/security/jks/selfsigned.cer
    -keystore $JAVA_HOME/jre/lib/security/jssecacerts -storepass changeit
    

    重点: 集群中的每个节点重复此过程。

  7. 重命名密钥库

    $ mv /opt/cloudera/security/jks/example.jks /opt/cloudera/security/jks/cmhost-keystore.jks
    

    您可以删除证书,因为在步骤5中已将它复制到相应的路径。

    $ rm /opt/cloudera/security/jks/selfsigned.cer
    

自签名证书设置已完成!

猜你喜欢

转载自blog.csdn.net/weixin_43215250/article/details/83383201