POST Certificates/Retrieve
Returns the available certificate data and optional private key information for an enrolled certificate. The response includes a CertificateData field containing the certificate in the requested Format, encoded as a Base64 string. To get a usable certificate file, Base64-decode the CertificateData value and save it with the appropriate file extension. If you want to download the certificate directly as a file instead, call GET Certificates/Retrieve.
Requirements
- Permissions: The caller must have Read permission and Private Key Read permission to the Certificate object.
- Token scope: Certificate:Manage
Headers
-
Content type: Content-Type:application/json.
- Token: The bearer access token that you received. For example, Authorization:Bearer xxxxxx==. For more information, see Passing a bearer token in your API calls.
Parameters
|
Name |
Description |
|||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
CertificateDN |
The Trust Protection Foundation Distinguished Name (DN) of the certificate. |
|||||||||||||||||||||
|
Format |
The certificate format for the return data. This parameter is required; omitting it returns HTTP 400. Format values are case-insensitive. Spaces and special characters in format names (such as
|
|||||||||||||||||||||
|
FriendlyName |
The label or alias to use for Base64, JKS, or PKCS #12 formats. Required for the JKS format. | |||||||||||||||||||||
|
IncludeChain (Optional) |
When the Format is Base64, Base64 (PKCS #8), PKCS #7, PKCS #12, or JKS, you can include the parent or root chain in the return data.
|
|||||||||||||||||||||
|
IncludePrivateKey (Optional) |
When the Format is Base64 (PKCS #8), PKCS #12, or JKS, you can specify whether to return the private key:
|
|||||||||||||||||||||
|
KeystorePassword |
If the Format is JKS, you must set this value. Use the same requirements as required for Password. | |||||||||||||||||||||
|
Password |
If the IncludePrivateKey value is true, this value must be set. The password must meet the Private Key Export rule for the certificate. This is the rule set on the certificate's policy folder. If the folder doesn't set a rule, the default Private Key Export rule is used. . IMPORTANT Spaces at the start or end are kept as part of the password.. To open the private key file later, you must type exactly the same password. For more information, see Global password rules. |
|||||||||||||||||||||
|
RootFirstOrder (Optional) |
In the REST response, the order of the certificate chain of trust. Use when IncludeChain is true.
|
|||||||||||||||||||||
|
WorkToDoTimeout |
(Optional) The maximum wait time for certificate retrieval. Overrides the Platforms tree setting for the Certificate API ToDo Timeout setting. The maximum number of seconds to wait for the ToDo operation to complete. The default is zero seconds with a maximum value of 120 seconds. For example:WorkToDoTimeout: 60. For more information, see Certificates API configuration. |
Returns
|
Name |
Description |
|---|---|
|
HTTP 200 |
If the certificate is currently in enrollment, provisioning, or in error, the response contains only the current Status and processing Stage of the Certificate object.
|
|
HTTP 202 |
When the certificate is not ready, this API call returns:
|
|
HTTP 400 |
Returns an Error message for bad parameters, data, or syntax:
|
Example: Get the certificate
Request
POST https://tpp.venafi.example/vedsdk/certificates/Retrieve
Authorization:Bearer EXAMPLE-bearer-token
{
"CertificateDN":"\\VED\\Policy\\retrieve-me.venafi.example",
"Format":"Base64",
"IncludeChain":true,
"RootFirstOrder":true
}
Response
HTTP/1.1 200 OK
{
"CertificateData":"c3ViamVjdD1DTj1WZW5hZmkgRXhhbXBsZSBSb290I...",
"Filename":"retrieve-me.venafi.example.pem",
"Format":"Base64"
}
Example: Get the certificate as a PFX file with private key
Request
POST https://tpp.venafi.example/vedsdk/certificates/Retrieve
Authorization:Bearer EXAMPLE-bearer-token
{
"CertificateDN":"\\VED\\Policy\\retrieve-me.venafi.example",
"Format":"PKCS #12",
"IncludePrivateKey":true,
"Password":"EXAMPLE-password",
"IncludeChain":true
}
Response
HTTP/1.1 200 OK
{
"CertificateData":"MIIRCAIBAzCCEcIGCSqGSIb3DQEHAaCCEb...",
"Filename":"retrieve-me.venafi.example.pfx",
"Format":"PKCS #12"
}
To save the certificate as a usable PFX file, Base64-decode the CertificateData value and write it to a .pfx file. For example, using PowerShell:
$response = Invoke-RestMethod -Method Post -Uri "https://tpp.venafi.example/vedsdk/certificates/Retrieve" `
-Headers @{ Authorization = "Bearer EXAMPLE-bearer-token" } `
-ContentType "application/json" `
-Body '{"CertificateDN":"\\VED\\Policy\\retrieve-me.venafi.example","Format":"PKCS #12","IncludePrivateKey":true,"Password":"EXAMPLE-password"}'
[System.IO.File]::WriteAllBytes("C:\certs\retrieve-me.pfx", [System.Convert]::FromBase64String($response.CertificateData))