exportCertificate method
Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.
For information about exporting and formatting a certificate using the ACM console or CLI, see Export a Private Certificate.
May throw ResourceNotFoundException. May throw RequestInProgressException. May throw InvalidArnException.
Parameter certificateArn
:
An Amazon Resource Name (ARN) of the issued certificate. This must be of
the form:
arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012
Parameter passphrase
:
Passphrase to associate with the encrypted exported private key. If you
want to later decrypt the private key, you must have the passphrase. You
can use the following OpenSSL command to decrypt a private key:
openssl rsa -in encrypted_key.pem -out decrypted_key.pem
Implementation
Future<ExportCertificateResponse> exportCertificate({
required String certificateArn,
required Uint8List passphrase,
}) async {
ArgumentError.checkNotNull(certificateArn, 'certificateArn');
_s.validateStringLength(
'certificateArn',
certificateArn,
20,
2048,
isRequired: true,
);
ArgumentError.checkNotNull(passphrase, 'passphrase');
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'CertificateManager.ExportCertificate'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'CertificateArn': certificateArn,
'Passphrase': base64Encode(passphrase),
},
);
return ExportCertificateResponse.fromJson(jsonResponse.body);
}