POST CSR Generation Generate
The POST /CSRGeneration/Generate method is used to generate and configure a CSR A CSR or certificate signing request is a block of encoded text that is submitted to a CA when enrolling for a certificate. When you generate a CSR within Keyfactor Command, the matching private key for it is stored in Keyfactor Command in encrypted format and will be married with the certificate once returned from the CA.. This method returns HTTP 200 OK on a success with a message body containing the text of the CSR file created.
This method generates a private key Private keys are used in cryptography (symmetric and asymmetric) to encrypt or sign content. In asymmetric cryptography, they are used together in a key pair with a public key. The private or secret key is retained by the key's creator, making it highly secure. and stores it in the Keyfactor Command database. When you use the CSR resulting from this method to enroll for a certificate through Keyfactor Command (see POST Enrollment CSR), the resulting certificate is married together with the stored private key and may then be download with private key (see POST Certificates Recover).


- System-wide enrollment pattern policy
- Individual enrollment pattern policy
- Supported algorithms set on the template
A certificate template defines the policies and rules that a CA uses when a request for a certificate is received. at the CA
A certificate authority (CA) is an entity that issues digital certificates. Within Keyfactor Command, a CA may be a Microsoft CA or a Keyfactor gateway to a cloud-based or remote CA. level
When configuring key information policies at the enrollment pattern level, only key sizes valid for the selected algorithm will be available. These are governed by the system-wide policy, enrollment pattern policy, and supported key sizes. For PFX A PFX file (personal information exchange format), also known as a PKCS#12 archive, is a single, password-protected certificate archive that contains both the public and matching private key and, optionally, the certificate chain. It is a common format for Windows servers. enrollment and CSR generation, you must select a valid KeyType, and KeyLength or Curve as applicable, for the request.
Table 437: POST CSR Generation Generate Input Parameters
Name | In | Description |
---|---|---|
AlternativeCurve | Body |
A string indicating the elliptic curve for the requested alternate key. This field is in the endpoint for future support. CSR generation with ECC as a secondary key is not supported at this time. |
AlternativeKeyLength | Body | An integer indicating the desired alternative key size of the certificate to be requested with the CSR. |
AlternativeKeyType | Body |
A string indicating the desired alternative key encryption algorithm of the certificate to be requested with the CSR. Supported key algorithms are:
A CSR with a secondary key using a Post-Quantum Cryptography (PQC) key algorithm can be used to enroll for a hybrid certificate (a certificate with two key pairs). |
Curve | Body |
A string indicating the elliptic curve for the requested primary key. ECC curves must be specified using the OID for the ECC algorithm. Keyfactor recommends using one of the most commonly used ECC curves when possible, if a specific alternate curve is not required. Common curves include:
If this value is not supplied and the KeyType is ECC, the value will be derived from the KeyLength if the length provided matches one of the default curves (P-256, P-384, or P-521). |
Key Length | Body |
Required*. An integer indicating the desired key size of the certificate to be requested with the CSR. Supported key sizes are:
This value is required only if KeyType = RSA. |
KeyType | Body |
Required. A string indicating the desired primary key encryption algorithm of the certificate to be requested with the CSR. Supported key algorithms are:
|
SANs | Body |
An object that contains the elements for Keyfactor Command to use when generating the subject alternative name (SAN) for the certificate requested by the CSR, each of which is supplied as an array of strings. For example: Copy
|
Subject | Body |
Required. A string containing the subject name of the certificate to be requested with the CSR using X.500 format for the full distinguished name (DN). For example: Copy
|
Template | Body | A string indicating the template to use when generating the CSR. This field is optional. If both the Template and EnrollmentPatternId are provided, the settings from the enrollment pattern take precedence. Important: The template must be configured with at least one enrollment pattern in order to be used (see POST Enrollment Patterns). Note: This parameter is considered deprecated and may be removed in a future release. Important: The If you choose to select |
Enrollment Pattern Id | Body |
An integer indicating the enrollment pattern to use when generating the CSR. The enrollment pattern must have been configured in Keyfactor Command to support CSR generation. If this value is not provided, the default enrollment pattern defined for the template provided in the request (see the Template parameter) will be used, if applicable. This field is optional. If both the Template and EnrollmentPatternId are provided, the settings from the enrollment pattern take precedence. Important: The
If you choose to select |
Table 438: POST CSR Generation Generate Response Data
Name | Description |
---|---|
CSR | The text of the CSR in PEM format. |


Was this page helpful? Provide Feedback