X509CertificatePkcs12

class aws_rfdk.X509CertificatePkcs12(scope, id, *, source_certificate, encryption_key=None)

Bases: constructs.Construct

architecture diagram

This Construct will generate a PKCS #12 file from an X.509 certificate in PEM format. The PEM certificate must be provided through an instance of the X509CertificatePem Construct. A Lambda Function is used to do the conversion and the result is stored in a Secret. The PKCS #12 file is password protected with a passphrase that is randomly generated and stored in a Secret.

architecture diagram

Resources Deployed

  • DynamoDB Table - Used for tracking resources created by the CustomResource.

  • Secrets - 2 in total, The binary of the PKCS #12 certificate and its passphrase.

  • Lambda Function, with role - Used to create/update/delete the CustomResource.

Security Considerations

  • The AWS Lambda that is deployed through this construct will be created from a deployment package that is uploaded to your CDK bootstrap bucket during deployment. You must limit write access to your CDK bootstrap bucket to prevent an attacker from modifying the actions performed by this Lambda. We strongly recommend that you either enable Amazon S3 server access logging on your CDK bootstrap bucket, or enable AWS CloudTrail on your account to assist in post-incident analysis of compromised production environments.

  • Access to the AWS SecretsManager Secrets that are created by this construct should be tightly restricted to only the principal(s) that require access.

Parameters
  • scope (Construct) –

  • id (str) –

  • source_certificate (X509CertificatePem) – The source PEM certificiate for the PKCS #12 file.

  • encryption_key (Optional[IKey]) – If provided, then this KMS is used to secure the cert, key, and passphrase Secrets created by the construct. [disable-awslint:ref-via-interface] Default: : None

Methods

to_string()

Returns a string representation of this construct.

Return type

str

Attributes

cert

The PKCS #12 data is stored in the ‘SecretBinary’ of this Secret.

Return type

ISecret

node

The tree node.

Return type

Node

passphrase

The encryption passphrase for the private key is in the ‘SecretString’ of this secret.

Return type

ISecret

Static Methods

classmethod is_construct(x)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

Parameters

x (Any) – Any object.

Return type

bool

Returns

true if x is an object created from a class which extends Construct.