| @@ -102,10 +102,10 @@ See how this is configured for the `matrix.` subdomain in `/matrix/nginx-proxy/c | |||||
| Don't be alarmed if the above configuration file says port `8080`, instead of port `80`. It's due to port mapping due to our use of containers. | Don't be alarmed if the above configuration file says port `8080`, instead of port `80`. It's due to port mapping due to our use of containers. | ||||
| ## Obtaining SSL certificates with ECDSA private key algorithm | |||||
| ## Specify the SSL private key algorithm | |||||
| If you'd like to obtain ECDSA keys by Let's Encrypt, define your own custom configuration like this: | |||||
| If you'd like to [specify the private key type](https://eff-certbot.readthedocs.io/en/stable/using.html#using-ecdsa-keys) used with Let's Encrypt, define your own custom configuration like this: | |||||
| ```yaml | ```yaml | ||||
| matrix_ssl_lets_encrypt_use_ecdsa_keys: true | |||||
| matrix_ssl_lets_encrypt_key_type: ecdsa | |||||
| ``` | ``` | ||||
| @@ -489,9 +489,9 @@ matrix_ssl_lets_encrypt_support_email: ~ | |||||
| # If you'd like to not bind on all IP addresses, specify one explicitly (e.g. `a.b.c.d:80`) | # If you'd like to not bind on all IP addresses, specify one explicitly (e.g. `a.b.c.d:80`) | ||||
| matrix_ssl_lets_encrypt_container_standalone_http_host_bind_port: '80' | matrix_ssl_lets_encrypt_container_standalone_http_host_bind_port: '80' | ||||
| # Get SSL certificates with ECDSA private key algorithm. | |||||
| # Specify key type of the private key algorithm. | |||||
| # Learn more here: https://eff-certbot.readthedocs.io/en/stable/using.html#using-ecdsa-keys | # Learn more here: https://eff-certbot.readthedocs.io/en/stable/using.html#using-ecdsa-keys | ||||
| matrix_ssl_lets_encrypt_use_ecdsa_keys: false | |||||
| matrix_ssl_lets_encrypt_key_type: rsa | |||||
| matrix_ssl_base_path: "{{ matrix_base_data_path }}/ssl" | matrix_ssl_base_path: "{{ matrix_base_data_path }}/ssl" | ||||
| matrix_ssl_config_dir_path: "{{ matrix_ssl_base_path }}/config" | matrix_ssl_config_dir_path: "{{ matrix_ssl_base_path }}/config" | ||||
| @@ -5,6 +5,11 @@ | |||||
| msg: "The `matrix_ssl_retrieval_method` variable contains an unsupported value" | msg: "The `matrix_ssl_retrieval_method` variable contains an unsupported value" | ||||
| when: "matrix_ssl_retrieval_method not in ['lets-encrypt', 'self-signed', 'manually-managed', 'none']" | when: "matrix_ssl_retrieval_method not in ['lets-encrypt', 'self-signed', 'manually-managed', 'none']" | ||||
| - name: Fail if using unsupported private key type | |||||
| fail: | |||||
| msg: "The `matrix_ssl_lets_encrypt_key_type` variable contains an unsupported value" | |||||
| when: "matrix_ssl_lets_encrypt_key_type not in ['rsa', 'ecdsa']" | |||||
| # Common tasks, required by almost any method below. | # Common tasks, required by almost any method below. | ||||
| @@ -45,7 +45,7 @@ | |||||
| --http-01-port 8080 | --http-01-port 8080 | ||||
| {% if matrix_ssl_lets_encrypt_server %}--server={{ matrix_ssl_lets_encrypt_server|quote }}{% endif %} | {% if matrix_ssl_lets_encrypt_server %}--server={{ matrix_ssl_lets_encrypt_server|quote }}{% endif %} | ||||
| {% if matrix_ssl_lets_encrypt_staging %}--staging{% endif %} | {% if matrix_ssl_lets_encrypt_staging %}--staging{% endif %} | ||||
| {% if matrix_ssl_lets_encrypt_use_ecdsa_keys %}--key-type ecdsa{% endif %} | |||||
| --key-type {{ matrix_ssl_lets_encrypt_key_type }} | |||||
| --standalone | --standalone | ||||
| --preferred-challenges http | --preferred-challenges http | ||||
| --agree-tos | --agree-tos | ||||
| @@ -75,7 +75,7 @@ | |||||
| --http-01-port 8080 | --http-01-port 8080 | ||||
| {% if matrix_ssl_lets_encrypt_server %}--server={{ matrix_ssl_lets_encrypt_server|quote }}{% endif %} | {% if matrix_ssl_lets_encrypt_server %}--server={{ matrix_ssl_lets_encrypt_server|quote }}{% endif %} | ||||
| {% if matrix_ssl_lets_encrypt_staging %}--staging{% endif %} | {% if matrix_ssl_lets_encrypt_staging %}--staging{% endif %} | ||||
| {% if matrix_ssl_lets_encrypt_use_ecdsa_keys %}--key-type ecdsa{% endif %} | |||||
| --key-type {{ matrix_ssl_lets_encrypt_key_type }} | |||||
| --standalone | --standalone | ||||
| --preferred-challenges http | --preferred-challenges http | ||||
| --agree-tos | --agree-tos | ||||
| @@ -24,9 +24,7 @@ docker run \ | |||||
| {% if matrix_ssl_lets_encrypt_staging %} | {% if matrix_ssl_lets_encrypt_staging %} | ||||
| --staging \ | --staging \ | ||||
| {% endif %} | {% endif %} | ||||
| {% if matrix_ssl_lets_encrypt_use_ecdsa_keys %} | |||||
| --key-type ecdsa \ | |||||
| {% endif %} | |||||
| --key-type {{ matrix_ssl_lets_encrypt_key_type }} \ | |||||
| --standalone \ | --standalone \ | ||||
| --preferred-challenges http \ | --preferred-challenges http \ | ||||
| --agree-tos \ | --agree-tos \ | ||||