Confirm the CA provider binding
Run these commands from an elevated PowerShell session on the AD CS server:- The AD CS provider is Futurex CryptoHub Key Storage Provider.
- The provider enumerates the subordinate CA key from CryptoHub without a configuration, TLS, or authentication error.
Issue a test certificate
Use the tab that matches the setup type you selected when you configured AD CS. A standalone CA has no certificate templates or enrollment policy, so it usescertreq instead of the Certificate Enrollment wizard.
- Standalone CA
- Enterprise CA
Run these steps from an elevated PowerShell session on the AD CS server.
1
Get the CA configuration string:Record the
Config: value, for example CA-SERVER\Example ML-DSA Issuing CA. The following steps use this value for -config.2
Create
C:\CA\test-request.inf with this content:The test certificate key does not need to use ML-DSA. The test confirms that the subordinate CA signs the certificate with its CryptoHub-backed ML-DSA key.
3
Create the request and submit it to the subordinate CA:
CertReq reports a request ID and states that the request is pending. A standalone CA holds requests for administrator approval by default.
4
Issue the pending request. Replace Alternatively, in the Certification Authority console, expand the subordinate CA, select Pending Requests, right-click the request, and then select All Tasks > Issue.
REQUEST_ID with the request ID from the previous step:5
Retrieve the issued certificate:
CertReq saves the certificate to
C:\CA\example-issued-certificate.cer, and the Certification Authority console lists it under Issued Certificates.Verify the ML-DSA certificate chain
Run these commands against the test certificate file:- The issuer is
Example ML-DSA Issuing CAor your subordinate CA common name. - The certificate signature algorithm is ML-DSA.
- Chain validation reaches
Example ML-DSA Root CAor your CryptoHub root CA common name. - CertUtil reports success.

