【问题标题】:Ansible: Create a Self-Signed SSL Certificate and KeyAnsible:创建自签名 SSL 证书和密钥
【发布时间】:2019-05-28 21:10:56
【问题描述】:

我想创建一个自签名证书以将其与 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 管理自签名证书?

【问题讨论】:

标签: ssl openssl ansible


【解决方案1】:
- 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:
    provider: selfsigned
    path: /etc/stunnel/redis-server.crt
    privatekey_path: /etc/stunnel/redis-server.key
    csr_path:/etc/stunnel/redis-server.csr
  • “-newkey rsa:2048”在私钥上处理“大小”
  • “-x509”是默认的
  • “-nodes”和“-days 3650”我找不到

【讨论】:

  • oof 我猜你是对的,但我从来没有在生产中真正使用过这个解决方案......如果答案得到 5 个赞或有人发表评论,我会接受答案。
  • openssl_certificate 需要provider: selfsigned。否则这对我有用。我猜-days 可以使用selfsigned_not_after 来实现。
猜你喜欢
  • 1970-01-01
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 2017-02-18
  • 2011-08-17
  • 2017-07-12
相关资源
最近更新 更多