diff --git a/.gitignore b/.gitignore index c898c59c1f..133d7d8670 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ api.planx.uk/tmp/ **/*.key **/*.pfx **/*.pkcs12 -**/*.p12 \ No newline at end of file +**/*.p12 +**/*.p7b \ No newline at end of file diff --git a/doc/how-to/how-to-setup-custom-subdomains.md b/doc/how-to/how-to-setup-custom-subdomains.md index 002761f4cd..76ce20968f 100644 --- a/doc/how-to/how-to-setup-custom-subdomains.md +++ b/doc/how-to/how-to-setup-custom-subdomains.md @@ -38,12 +38,19 @@ This guide will walk through the process of setting a custom domain for a new te 4. **PlanX** - Format certificates if provided with PKCS #12 - Using `.pfx` as ``, run the following: + ```shell openssl pkcs12 -nocerts -nodes -in -out council.key [ -password 'pass:' ] openssl pkcs12 -nokeys -in -out council.cert [ -password 'pass:' ] ``` + + If the certificate is provided as a PKCS #7 (`.p7b`) file, it can be decoded as follows - + + ```shell + openssl pkcs7 -print_certs -in -out council.cert + ``` - The `council.cert` file output above might contain the certificate chain inside it, so please separate the first certificate in the file (the certificate body as `council.cert`) from the rest of the certificates in the file (the certificate chain as `chain.cert`) before proceeding with step 6.2. + The `council.cert` file output above might contain the certificate chain inside it, so please separate the first certificate in the file (the certificate body as `council.cert`) from the rest of the certificates in the file (the certificate chain as `chain.cert`) before proceeding with step 6.2. If multiple certificate formats are returned by the council, it's possible not all will include chain (or root) certificates. If provided, we should include the chain certificates. 5. **PlanX** - Validate certificates manually in AWS Console (optional but recommended) diff --git a/infrastructure/application/Pulumi.production.yaml b/infrastructure/application/Pulumi.production.yaml index 38b33f78e0..732805aa45 100644 --- a/infrastructure/application/Pulumi.production.yaml +++ b/infrastructure/application/Pulumi.production.yaml @@ -54,7 +54,9 @@ config: application:ssl-doncaster-key: secure: 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 application:ssl-gateshead-cert: - secure: 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 + secure: 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 + application:ssl-gateshead-chain: + secure: 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 application:ssl-gateshead-key: secure: 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 application:ssl-lambeth-cert: