Skip to content

Commit b8bbba5

Browse files
committed
Merge branch 'dev' of https://github.com/Keyfactor/aws-pca-caplugin into dev
2 parents e56eb9d + c2c013b commit b8bbba5

1 file changed

Lines changed: 51 additions & 5 deletions

File tree

README.md

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
<p align="center">
66
<!-- Badges -->
77
<img src="https://img.shields.io/badge/integration_status-pilot-3D1973?style=flat-square" alt="Integration Status: pilot" />
8-
<a href="https://github.com/Keyfactor/aws-pca-caplugin-dev/releases"><img src="https://img.shields.io/github/v/release/Keyfactor/aws-pca-caplugin-dev?style=flat-square" alt="Release" /></a>
9-
<img src="https://img.shields.io/github/issues/Keyfactor/aws-pca-caplugin-dev?style=flat-square" alt="Issues" />
10-
<img src="https://img.shields.io/github/downloads/Keyfactor/aws-pca-caplugin-dev/total?style=flat-square&label=downloads&color=28B905" alt="GitHub Downloads (all assets, all releases)" />
8+
<a href="https://github.com/Keyfactor/aws-pca-caplugin/releases"><img src="https://img.shields.io/github/v/release/Keyfactor/aws-pca-caplugin?style=flat-square" alt="Release" /></a>
9+
<img src="https://img.shields.io/github/issues/Keyfactor/aws-pca-caplugin?style=flat-square" alt="Issues" />
10+
<img src="https://img.shields.io/github/downloads/Keyfactor/aws-pca-caplugin/total?style=flat-square&label=downloads&color=28B905" alt="GitHub Downloads (all assets, all releases)" />
1111
</p>
1212

1313
<p align="center">
@@ -53,7 +53,7 @@ This integration is tested and confirmed as working for Anygateway REST 24.4 and
5353

5454
1. Install the AnyCA Gateway REST per the [official Keyfactor documentation](https://software.keyfactor.com/Guides/AnyCAGatewayREST/Content/AnyCAGatewayREST/InstallIntroduction.htm).
5555

56-
2. On the server hosting the AnyCA Gateway REST, download and unzip the latest [AWSPCA CA Gateway AnyCA Gateway REST plugin](https://github.com/Keyfactor/aws-pca-caplugin-dev/releases/latest) from GitHub.
56+
2. On the server hosting the AnyCA Gateway REST, download and unzip the latest [AWSPCA CA Gateway AnyCA Gateway REST plugin](https://github.com/Keyfactor/aws-pca-caplugin/releases/latest) from GitHub.
5757

5858
3. Copy the unzipped directory (usually called `net6.0` or `net8.0`) to the Extensions directory:
5959

@@ -110,7 +110,7 @@ This integration is tested and confirmed as working for Anygateway REST 24.4 and
110110
4. In Keyfactor Command (v12.3+), for each imported Certificate Template, follow the [official documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Configuring%20Template%20Options.htm) to define enrollment fields for each of the following parameters:
111111
112112
* **LifetimeDays** - OPTIONAL: The number of days of validity to use when requesting certs. If not provided, default is 365
113-
* **SigningAlgorithm** - Required: Signing Algorithm to use with the PCA.
113+
* **SigningAlgorithm** - Required: AWS ACM PCA certificate signature algorithm to use when issuing certificates. Value is an AWS PCA SigningAlgorithm enum name (case-insensitive), e.g. SHA256WITHRSA, SHA384WITHRSA, SHA256WITHECDSA. If omitted, the plugin selects a default compatible with the CA key algorithm.
114114
115115
116116
## Authentication (Access Key + Secret)
@@ -338,6 +338,52 @@ When `SigningAlgorithm` is omitted, the plugin selects:
338338
- SM2 -> `SM3WITHSM2`
339339
- ML-DSA -> exact-match (`ML_DSA_44/65/87`)
340340
341+
---
342+
343+
## Signing algorithm selection (ACM PCA)
344+
345+
The connector supports an optional **template / product parameter** named `SigningAlgorithm` that controls the **certificate signature algorithm**
346+
passed to AWS ACM PCA `IssueCertificate`.
347+
348+
- If **not set**, the plugin will **auto-select** a compatible default based on the CA `KeyAlgorithm` returned by
349+
`DescribeCertificateAuthority`.
350+
- If **set**, the plugin validates the value and **rejects incompatible combinations** before calling AWS.
351+
352+
### Where to configure
353+
354+
Set `SigningAlgorithm` on the **AnyGateway template** (product parameters), alongside `LifetimeDays`.
355+
356+
### Valid `SigningAlgorithm` values (AWS PCA)
357+
358+
- RSA family: `SHA256WITHRSA`, `SHA384WITHRSA`, `SHA512WITHRSA`
359+
- ECDSA family: `SHA256WITHECDSA`, `SHA384WITHECDSA`, `SHA512WITHECDSA`
360+
- SM2: `SM3WITHSM2`
361+
- ML-DSA (post-quantum): `ML_DSA_44`, `ML_DSA_65`, `ML_DSA_87`
362+
363+
### Allowed CA key algorithm <-> signing algorithm combinations
364+
365+
The CA key algorithm is the PCA CA **KeyAlgorithm** (not the subject key in the CSR). The signing algorithm must match the CA key family.
366+
367+
| CA KeyAlgorithm | Allowed SigningAlgorithm values |
368+
|---|---|
369+
| `RSA_2048`, `RSA_3072`, `RSA_4096` | `SHA256WITHRSA`, `SHA384WITHRSA`, `SHA512WITHRSA` |
370+
| `EC_prime256v1`, `EC_secp384r1`, `EC_secp521r1` | `SHA256WITHECDSA`, `SHA384WITHECDSA`, `SHA512WITHECDSA` |
371+
| `SM2` | `SM3WITHSM2` |
372+
| `ML_DSA_44` | `ML_DSA_44` |
373+
| `ML_DSA_65` | `ML_DSA_65` |
374+
| `ML_DSA_87` | `ML_DSA_87` |
375+
376+
### Auto-selection defaults
377+
378+
When `SigningAlgorithm` is omitted, the plugin selects:
379+
380+
- RSA CAs -> `SHA256WITHRSA`
381+
- EC P-256 -> `SHA256WITHECDSA`
382+
- EC P-384 -> `SHA384WITHECDSA`
383+
- EC P-521 -> `SHA512WITHECDSA`
384+
- SM2 -> `SM3WITHSM2`
385+
- ML-DSA -> exact-match (`ML_DSA_44/65/87`)
386+
341387
342388
## License
343389

0 commit comments

Comments
 (0)