issueCertificate method
Issues a production certificate using the provided compliance request ID.
Implementation
Future<Map<String, dynamic>> issueCertificate(
String complianceRequestId,
) async {
final headers = {
"Accept-Version": API.settings["API_VERSION"]!,
'Content-Type': 'application/json',
...authHeaders,
};
final response = await http.post(
Uri.parse('$baseUrl/production/csids'),
headers: headers,
body: jsonEncode({"compliance_request_id": complianceRequestId}),
);
if (response.statusCode != 200) {
throw Exception("Error issuing a production certificate.");
}
final data = jsonDecode(response.body);
final issuedCertificate = '''
-----BEGIN CERTIFICATE-----
${utf8.decode(base64Decode(data["binarySecurityToken"]))}
-----END CERTIFICATE-----
''';
return {
"issued_certificate": issuedCertificate,
"api_secret": data["secret"],
"request_id": data["requestID"],
};
}