# KeyAlgorithm

Certificate Manager key algorithm.

If you need to use an algorithm that doesn't exist as a static member, you
can instantiate a `KeyAlgorithm` object, e.g: `new KeyAlgorithm('RSA_2048')`.

- Source: [`aws-certificatemanager/lib/certificate.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-certificatemanager/lib/certificate.ts#L138)
- Type last changed: v2.182.0 · 5 Mar 2025

## Example

```ts
import * as acmpca from 'aws-cdk-lib/aws-acmpca';

new acm.PrivateCertificate(this, 'PrivateCertificate', {
  domainName: 'test.example.com',
  subjectAlternativeNames: ['cool.example.com', 'test.example.net'], // optional
  certificateAuthority: acmpca.CertificateAuthority.fromCertificateAuthorityArn(this, 'CA',
    'arn:aws:acm-pca:us-east-1:123456789012:certificate-authority/023077d8-2bfa-4eb0-8f22-05c96deade77'),
  keyAlgorithm: acm.KeyAlgorithm.RSA_2048, // optional, default algorithm is RSA_2048
});
```

## Initializer

```ts
new KeyAlgorithm(name: string)
```

## Properties

- `EC_PRIME256V1`: [KeyAlgorithm](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.KeyAlgorithm.html) (static) — EC_prime256v1 algorithm.

- `EC_SECP384R1`: [KeyAlgorithm](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.KeyAlgorithm.html) (static) — EC_secp384r1 algorithm.

- `EC_SECP521R1`: [KeyAlgorithm](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.KeyAlgorithm.html) (static) — EC_secp521r1 algorithm.

- `name`: string — The name of the algorithm.

- `RSA_1024`: [KeyAlgorithm](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.KeyAlgorithm.html) (static) — RSA_1024 algorithm.

- `RSA_2048`: [KeyAlgorithm](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.KeyAlgorithm.html) (static) — RSA_2048 algorithm.

- `RSA_3072`: [KeyAlgorithm](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.KeyAlgorithm.html) (static) — RSA_3072 algorithm.

- `RSA_4096`: [KeyAlgorithm](/cdk/api/v2/docs/aws-cdk-lib.aws_certificatemanager.KeyAlgorithm.html) (static) — RSA_4096 algorithm.
