ca.tf 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. resource "aws_acmpca_certificate_authority" "root_CA" {
  2. type = "ROOT"
  3. certificate_authority_configuration {
  4. key_algorithm = "EC_secp384r1"
  5. signing_algorithm = "SHA512WITHECDSA"
  6. subject {
  7. common_name = "XDR Root CA v2"
  8. country = "US"
  9. organization = "Accenture Federal Services"
  10. organizational_unit = "XDR"
  11. }
  12. }
  13. revocation_configuration {
  14. crl_configuration {
  15. #custom_cname = "crl.xdr.accenturefederalcyber.com" # Maybe we want to hide the S3 bucket? Adds cost and complexity so I'm going with YAGNI for now.
  16. enabled = true
  17. expiration_in_days = 7
  18. s3_bucket_name = aws_s3_bucket.crl.id
  19. }
  20. }
  21. tags = merge(local.standard_tags, var.tags)
  22. depends_on = [aws_s3_bucket_policy.crl]
  23. }
  24. resource "aws_acmpca_certificate" "root_certificate" {
  25. certificate_authority_arn = aws_acmpca_certificate_authority.root_CA.arn
  26. certificate_signing_request = aws_acmpca_certificate_authority.root_CA.certificate_signing_request
  27. signing_algorithm = "SHA512WITHECDSA"
  28. template_arn = "arn:${var.aws_partition}:acm-pca:::template/RootCACertificate/V1"
  29. validity {
  30. type = "YEARS"
  31. value = 20
  32. }
  33. }
  34. resource "aws_acmpca_certificate_authority_certificate" "root_certificate" {
  35. certificate_authority_arn = aws_acmpca_certificate_authority.root_CA.arn
  36. certificate = aws_acmpca_certificate.root_certificate.certificate
  37. certificate_chain = aws_acmpca_certificate.root_certificate.certificate_chain
  38. }