Ansible:创建自签名SSL证书和密钥

时间:2019-05-28 21:10:56

标签: ssl openssl ansible

我想创建一个自签名证书以与stunnel一起使用,以便在redis服务器和客户端之间安全地建立我的redis流量隧道。我正在使用此命令生成证书,并且可以正常工作。

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/stunnel/redis-server.key -out /etc/stunnel/redis-server.crt

由于我使用Ansible进行配置,所以我想知道如何使用模块将其转换为更Ansible的方式。实际上,有一个名为openssl_certificate Ansible的模块,它声明“该模块允许一个(重新)生成OpenSSL证书。” 。我试图使用该模块来生成证书,但无法使其正常工作。

- name: Generate a Self Signed OpenSSL certificate
  openssl_certificate:
    path: /etc/stunnel/redis-server.crt
    privatekey_path: /etc/stunnel/redis-server.key
    csr_path: /etc/stunnel/redis-server.csr
    provider: selfsigned

从文档上看,我无法指定以下参数-x509 -nodes -days 3650 -newkey rsa:2048。当然,我也可以拆分密钥和证书生成,但是那仍然不允许我使用Ansible模块,对吗?

示例:

openssl genrsa -out /etc/stunnel/key.pem 4096

openssl req -new -x509 -key /etc/stunnel/key.pem -out /etc/stunnel/cert.pem -days 1826

我想知道以下几点:

  • a)如何使用Ansible模块从原始命令中获得相同的结果?
  • b)是否有更好的方法使用Ansible管理自签名证书?

1 个答案:

答案 0 :(得分:3)

- openssl_privatekey:
    path: /etc/stunnel/redis-server.key
    size: 2048 

- openssl_csr:
    path: /etc/stunnel/redis-server.csr
    privatekey_path: /etc/stunnel/redis-server.key

- openssl_certificate:
    path: /etc/stunnel/redis-server.crt
    privatekey_path: /etc/stunnel/redis-server.key
    csr_path:/etc/stunnel/redis-server.csr
  • “-newkey rsa:2048”在私钥上处理为“ size”
  • 默认为“ -x509”
  • 我找不到
  • “节点”和“-天3650”