CloudflareStatic-verified

An Origin CA Certificate Whose Private Key Never Enters the Terraform State

A certificate for the hop between Cloudflare and your origin. It is trusted by Cloudflare and by nothing else, so it is right only when the origin accepts Cloudflare alone. A CSR is required precisely so the key stays where it was generated, and the validity is one year rather than the fifteen the API offers, since that is how long a leaked key stays usable.

terraformEdge & DNScloudflare

Compare Managed TLS Certificates across clouds →

cloudflare-origin-ca-certificatevizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • No applicable security policies for this provider
  • Plan tests (mocked: validation rules · outputs)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-09-15 · how we verify

Use it from the registry

terraform · opentofu
module "origin_ca_certificate" {
  source  = "www.iac-bazaar.com/iac-bazaar/cloudflare-origin-ca-certificate/cloudflare"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

cloudflare-origin-ca-certificate

Managed TLS certificates on Cloudflare Origin CA, for the hop between Cloudflare and the origin. Works with Terraform and OpenTofu (>= 1.6), cloudflare provider >= 5.0, < 6.0.

An Origin CA certificate is trusted by Cloudflare and by nothing else. Anything reaching the origin directly sees an untrusted certificate, so it is the right certificate only when the origin accepts Cloudflare alone.

The private key never enters the Terraform state, and that is why a CSR is required. Letting Cloudflare generate the pair would put the key in the state file and in every plan.

Fifteen years is the API default and it is too long. One year here; anything beyond two has to be said by name.

Verification

Static validation runs tofu fmt, init, validate, tflint and checkov. This module has not yet had a live test, so it is published as statically validated with its live test pending and does not carry the live-tested mark.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage

Related modules

Static validatedLive test pending

alicloud-ssl-certificate

A certificate uploaded into Certificate Management Service for SLB, ALB, CDN and API Gateway to reference. The private key is an argument, so it lands in the Terraform state and the README says so plainly. SM2 is a signing pair plus an encryption pair and the module refuses a half-filled set, which would upload something no client can handshake with.

View module
Static validatedLive test pending

tencent-ssl-certificate

A free domain-validated certificate from Tencent Cloud SSL. DNS_AUTO writes the record for you and silently only works when the domain is on DNSPod, so the module refuses it unless you confirm that. The issued private key is a computed attribute and therefore in state, and the resource finishes before the certificate is issued, so read the status output.

View module
Static validatedLive test pending

ibm-public-certificate

A publicly-trusted certificate issued into Secrets Manager, validated over DNS through Cloud Internet Services, with both configurations created here rather than left to a console. Staging issues a certificate no browser trusts while looking like success, so it is refused by name; auto-rotation and key rotation are on, because a ninety-day certificate nothing renews is a dated outage.

View module
Live-tested

aws-acm

Requests a public, DNS-validated ACM TLS certificate that ACM auto-renews forever, outputting the validation records to publish - CT logging on, wildcards and SANs supported.

View module
Static validatedLive test pending

akamai-cps-dv-certificate

Automated Domain Validated TLS enrollment with DNS/HTTP challenge outputs wired for Edge DNS.

View module
Live-tested

gcp-certificate-manager

A Certificate Manager certificate map for external HTTPS load balancers, with an optional Google-managed certificate and DNS authorization provisioned when you supply a domain you control.

View module