Get the contents of the Let's Encrypt certificate
You can save a certificate chain and a private key to use on your own, e.g., when configuring a web server on a VM.
To get the contents of a certificate:
-
In the management console
, select the folder where the certificate is located. -
From the list of services, select Certificate Manager.
-
Next to the certificate, click
and select Export certificate.You can only export certificates with the
Issuedstatus. -
Select one of the export options. The
certificate.pemfile will contain the following data in Base64 encoded text format:-
End-entity certificate and chain: Certificate chain (root and target certificate) and private key with standard framing:
-----BEGIN CERTIFICATE----- MIIE5zCCA8+gAwI... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFFjCCAv6gAwIBAg... -----END CERTIFICATE----- -----BEGIN PRIVATE KEY----- MIIEvgIBADANBgk... -----END PRIVATE KEY----- -
Certificate without private key: Certificate chain (root and target certificate):
-----BEGIN CERTIFICATE----- MIIE5zCCA8+gAwI... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFFjCCAv6gAwIBAg... -----END CERTIFICATE----- -
End-entity certificate:
-----BEGIN CERTIFICATE----- MIIFFjCCAv6gAwIBAg... -----END CERTIFICATE-----` -
Private key only:
-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgk... -----END PRIVATE KEY-----`
-
-
Click Download certificate.
The command will display a certificate chain and a private key and save their contents to the --chain and --key files, respectively.
--id: Certificate ID; make sure you set either the--idor--nameflag.--name: Certificate name; make sure you set either the--idor--nameflag.--chain: (Optional) File to save the certificate chain to in PEM format.--key: (Optional) File to save the private key to, in PEM format.
yc certificate-manager certificate content \
--id fpqcsmn76v82******** \
--chain certificate_full_chain.pem \
--key private_key.pem
With Terraform
Terraform is distributed under the Business Source License
For more information about the provider resources, see the relevant documentation on the Terraform
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
To get the contents of a custom certificate using Terraform:
-
In the Terraform configuration file, define the parameters of the resources you want to create:
data "yandex_cm_certificate_content" "cert_by_id" { certificate_id = "<certificate_ID>" } output "certificate_chain" { value = data.yandex_cm_certificate_content.cert_by_id.certificates } output "certificate_key" { value = data.yandex_cm_certificate_content.cert_by_id.private_key sensitive = true }Where:
data "yandex_cm_certificate_content": Description of the data source for the certificate contents:certificate_id: Certificate ID.
outputsections:certificate_chainoutput variables with a certificate chain and acertificate_keyprivate key:value: Returned value.sensitive: Label data as sensitive.
For more information about the
yandex_cm_certificate_contentdata source parameters, see the provider documentation. -
Create the resources:
-
In the terminal, go to the directory where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validateIf the configuration is correct, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a detailed list of resources. No changes will be made at this step. If the configuration contains any errors, Terraform will show them.
-
Apply the changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
Terraform will create all the required resources. To check the results, run these commands:
-
Get a certificate chain:
terraform output certificate_chain -
Get the private key value:
terraform output -raw certificate_key
-
To get the certificate contents, use the get REST API method for the CertificateContent resource or the CertificateContentService/Get gRPC API call.
Note
To view the certificate contents, assign the certificate-manager.certificates.downloader role to the service account.