Terraform自签名证书Openssl验证失败

时间:2016-07-25 09:45:01

标签: openssl ssl-certificate terraform

我正在尝试使用Terraform创建一个自签名证书,以便在测试/开发环境中内部使用。

我首先创建一个CA私钥,自签名证书。

然后,我为要为其启用HTTPS的内部域名创建证书签名请求和私钥。

然后我签署证书。以下是我使用的整个Terraform清单:

{{1}}

我运行Terraform清单。然后我从状态文件中提取生成的证书并将它们保存到文件中。

我尝试使用openssl验证最终证书,但收到错误:

{{1}}

任何想法是什么问题?我花了很多时间试图解决这个问题。

基本上我想用它来为我的测试/开发环境中的私有Docker注册表启用HTTPS。

1 个答案:

答案 0 :(得分:2)

您需要将cert_signing添加到tls_private_key.ca.allowed_uses

resource "tls_self_signed_cert" "ca" {
  key_algorithm = "${tls_private_key.ca.algorithm}"
  private_key_pem = "${tls_private_key.ca.private_key_pem}"

  subject {
    common_name = "Example CA"
    organization = "Example, Ltd"
    country = "GB"
  }

  validity_period_hours = 43800
  is_ca_certificate = true

  allowed_uses = [
    "key_encipherment",
    "digital_signature",
    "server_auth",
    "client_auth",
    "cert_signing"
  ]
}

请参阅:https://www.terraform.io/docs/providers/tls/r/self_signed_cert.html#cert_signing