Example 4: Provisioning
This example shows you how to call POST Certificates/Request, to immediately provision the certificate in four different formats (GSK, JKS, PEM, and PKCS#12) to the same device. During provisioning, Trust Protection Platform creates and uses an agent to install a new certificate on a device. For more information, see Certificates/Request Applications parameters for provisioning.
Example 4: Create Device objects, Application objects and Provision all in one API call
Request for Example 4
POST https://tpp.venafi.example/vedsdk/Certificates/Request
Authorization:Bearer 4MyGeneratedBearerTknz==
{
"PolicyDN":"\\VED\\Policy\\Certificates",
"CADN":"\\VED\\Policy\\CATemplates\\mscaTemplate",
"ObjectName":"provisioning-by-api.venafi.example",
"Subject":"provisioning-by-api.venafi.example",
"SubjectAltNames":[
{
"TypeName":"DNS",
"Name":"gsk.venafi.example"
},
{
"TypeName":"DNS",
"Name":"jks.venafi.example"
},
{
"TypeName":"DNS",
"Name":"pem.venafi.example"
},
{
"TypeName":"DNS",
"Name":"p12.venafi.example"
},
{
"TypeName":"IPAddress",
"Name":"192.168.1.100"
}
],
"ManagementType":"Provisioning",
"SetWorkToDo":true,
"Devices":[
{
"PolicyDN":"\\VED\\Policy\\Endpoints",
"ObjectName":"LINUX",
"Host":"192.168.1.100",
"CredentialDN":"\\VED\\Policy\\Credentials\\root-passw0rd",
"Applications":[
{
"ObjectName":"GSK",
"Class":"GSK",
"DriverName":"appgsk",
"ClassSpecificAttributes":[
{
"Name":"Certificate Label",
"Value":"miami"
},
{
"Name":"Key Store",
"Value":"/opt/pki/miami.kdb"
},
{
"Name":"Key Store Credential",
"Value":"\\VED\\Policy\\Credentials\\!omepassw0rd"
},
{
"Name":"Store Type",
"Value":"CMS"
},
{
"Name":"Version",
"Value":"GSK 8.0"
}
]
},
{
"ObjectName":"JKS",
"Class":"JKS",
"DriverName":"appjks",
"ClassSpecificAttributes":[
{
"Name":"Certificate Label",
"Value":"miami"
},
{
"Name":"Key Store",
"Value":"/opt/pki/miami.jks"
},
{
"Name":"Key Store Credential",
"Value":"\\VED\\Policy\\Credentials\\passw0rd"
},
{
"Name":"Private Key Password Credential",
"Value":"\\VED\\Policy\\Credentials\\passw0rd"
},
{
"Name":"Version",
"Value":"Java 1.8"
}
]
},
{
"ObjectName":"PEM",
"Class":"PEM",
"DriverName":"apppem",
"ClassSpecificAttributes":[
{
"Name":"Certificate File",
"Value":"/opt/pki/miami.crt"
},
{
"Name":"Private Key File",
"Value":"/opt/pki/miami.key"
},
{
"Name":"Certificate Chain File",
"Value":"/opt/pki/miami.chain"
}
]
},
{
"ObjectName":"P12",
"Class":"PKCS#12",
"DriverName":"apppkcs12",
"ClassSpecificAttributes":[
{
"Name":"Certificate File",
"Value":"/opt/pki/miami.p12"
},
{
"Name":"Friendly Name",
"Value":"miami"
},
{
"Name":"Private Key Password Credential",
"Value":"\\VED\\Policy\\Credentials\\passw0rd"
}
]
}
]
}
]
}
Response for Example 4
HTTP/1.1 200 OK
{
"CertificateDN": "\\VED\\Policy\\Certificates\\provisioning-by-api.venafi.example",
"Devices": [
{
"Applications": [
{
"DN": "\\VED\\Policy\\Certificates\\LINUX\\GSK"
},
{
"DN": "\\VED\\Policy\\Certificates\\LINUX\\JKS"
},
{
"DN": "\\VED\\Policy\\Certificates\\LINUX\\PEM"
},
{
"DN": "\\VED\\Policy\\Certificates\\LINUX\\P12"
}
],
"DN": "\\VED\\Policy\\Certificates\\LINUX"
}
],
"Guid": "{2298e794-a1f8-404b-ae12-bd7bf0f28872}"
}