EJBCA

EJBCA Request Objects

Table 1. EJBCA caConnectorInfo
Name Description
certificateAuthority (Mandatory) Name of the certificate authority that issues the certificate.

Type: String

Constraint: The value should be Ejbca.

isAutoRenewal (Optional) Determines whether the certificate will be renewed before its expiration date. If enabled (true), renewal is initiated before the expiry date, following the specified number of days in "renewBefore."

Type: Boolean

Constraint: The value should be disabled (false) if autoRegenerateEnabled is true.

renewBefore (Optional) Specifies the number of days prior to expiration when the renewal request should be triggered.

Type: Integer

Constraint: The value must be provided if isAutoRenewal is true.

autoRegenerateEnabled (Optional) Determines whether the certificate will be regenerated before its expiration date, as indicated by the "regenerateBeforeInDays" field. If enabled (true), regeneration occurs before expiry, according to the specified number of days in "regenerateBeforeInDays."

Type: Boolean

Constraint: The value should be disabled (false) if isAutoRenewal is true.

regenerateBeforeInDays (Optional) Specifies the number of days prior to expiration when the regenerate request should be triggered.

Type: Integer

caSettingName (Mandatory) Name of the CASetting created in AppViewX for the chosen certificate authority.

Type: String

Constraint: Prerequisite - End entity profiles should have been fetched and updated in the specified CA setting.

description (Optional) Information about the certificate.

Type: String

csrParameters (Optional) Parameters required for generating a CSR.

Type: Ejbca CSR Parameters

genericFields (Optional) Custom fields configured for the CA/customer.

Type: Ejbca genericFields

vendorSpecificDetails (Optional) Data specific to the Ejbca vendor.

Type: Ejbca vendorSpecificDetails

customAttributes (Optional) Custom fields configured for EJBCA.
postalCode

customAttributes

(Optional) This field is given as an example, there could be any number of fields as specified in the policy.

Type: String

name (Optional) Name for the CA connector.

Type: String

Table 2. EJBCA CSR Parameters
Name Description
commonName (Mandatory) A fully qualified domain name (FQDN) of the server for which certificate is requested.

Type: String

Constraint: It must be compliant with the common name specified in the policy, if the policy is set as ‘Strict.’

organization (Optional) Legal name of the organization.

Type: String

Constraint: Default value - the value configured in the policy.

organizationUnit (Optional) Division or department of the organization handling the certificate.

Type: String

Constraint: Default value - the value configured in the policy.

locality (Optional) City where the organization is located. The value should not be abbreviated.

Type: String

Constraint: Default value - the value configured in the policy.

state (Optional) State or region where the organization is located. The value should not be abbreviated.

Type: String

Constraint: Default value - the value configured in the policy.

country (Optional) A two-letter code for the country where the organization is located.

Type: String

Constraint: Default value - the value configured in the policy.

mailAddress (Optional) Email address of the organization.

Type: String

hashFunction (Optional) The hash function to be used in the Certificate, e.g. SHA160. It should be chosen from the possible values configured in the certificate policy.

Type: String

Constraint: Default value - the first value will be chosen from the policy.

keyType (Optional) The algorithm to be used for key generation, e.g. RSA, DSA, or EC. It should be chosen from the possible values configured in the certificate policy.

Type: String

Constraint: Default value - the first value will be chosen from the policy.

bitLength (Optional) The bit length for the key is dependent on the key type chosen. It should be chosen from the possible values configured in the certificate policy.

Type: String

Constraint: Default value - the first value will be chosen from the policy

certificateCategories (Mandatory) Purpose or intended use of the generated certificate

Type: Array of string

Possible value: Server, Client, Code Signing, and Email

Recommendation: Assign only one of the possible values as the input. For example, if intended certificate category is client, set this parameter to Client.

ellipticCurve (Optional) If the keyType chosen is EC, then the ellipticCurve must be specified depending on the bit length selected. It should be chosen from the possible values configured in the certificate policy.

Type: String

Constraint: Default value - the first value will be chosen from the policy

enhancedSANTypes (Optional) The subject alternative names (SAN) for the certificate. The sub-parameters are dNSNames, rfc822Names, iPAddresses and uniformResourceIdentifiers.
dNSNames

enhancedSANTypes

(Optional) List of subject alternative names for the certificate.

Type: Array of String

rfc822Names

enhancedSANTypes

(Optional) Email addresses to be considered as Subject Alternative Names.

Type: Array of String

iPAddresses

enhancedSANTypes

(Optional) List of IP address to be considered as subject alternative names.

Type: Array of String

uniformResourceIdentifiers

enhancedSANTypes

(Optional) URIs to be considered as Subject Alternative Names.

Type: Array of String

Table 3. EJBCA genericFields
Name Description
device_name_<certificateAuthority> (Optional) Server device name for which certificate is requested.

Type: String

Constraint: The <certificateAuthority> has to be replaced with the value provided in the "certificateAuthority" field.

vs_ip_<certificateAuthority> (Optional) Server IP address for which certificate is requested.

Type: String

Constraint: The <certificateAuthority> has to be replaced with the value provided in the "certificateAuthority" field.

Table 4. EJBCA vendorSpecificDetails
Name Description
userName (Optional) The username configured at the CA's end.

Type: String

endEntityProfileName (Mandatory) The name of the end-entity profile configured at the CA's end.

Type: String

issuerCommonName (Mandatory) The common name of the issuer configured at the CA's end.

Type: String

certificateProfileName (Mandatory) The name of the certificate profile selected from the available options for the chosen "endEntityProfile."

Type: String

Sample Request/Response

Request Payload
 {
 "csrGenerationSource": "appviewx",
 "caConnectorInfo": {
 "certificateAuthority": "Ejbca",
 "isAutoRenewal": false,
 "autoRegenerateEnabled": true,
 "regenerateBeforeInDays": "30",
 "caSettingName": "ejbca",
 "description": "",
 "csrParameters": {
 "commonName": "testcert.testdomain.com",
 "organization": "AppViewX",
 "organizationUnit": "PE",
 "locality": "Plano",
 "state": "Texas",
 "country": "US",
 "mailAddress": "[email protected]",
 "hashFunction": "SHA256",
 "keyType": "RSA",
 "bitLength": "2048",
 "certificateCategories": ["Server"],
 "ellipticCurve": "",
 "enhancedSANTypes": {
 "dNSNames": ["testcert5.avx.com"],
 "rfc822Names": ["[email protected]"],
 "iPAddresses": ["xxx.xxx.xxx.xxx"],
 "uniformResourceIdentifiers": ["http://testcert5.avx.com"]
 }
 },
 "genericFields": {
 "device_name_Ejbca": "test_device",
 "vs_ip_Ejbca": "192.168.142.162"
 },
 "vendorSpecificDetails": {
 "userName": "",
 "endEntityProfileName": "APPVIEWX PROFILE",
 "issuerCommonName": "Ejbca New Intermediate CA",
 "certificateProfileName": "SERVER PROFILE"
 },
 "customAttributes": {}
 },
 "certificateGroup": {
 "name": "Default"
 }
 }
Response
 { 
 "response": {
 "resourceId": "5f4e5c2e70040d33314f0e9d",
 "requestId": "147"
 },
 "message": "Certificate submission triggered successfully.",
 "appStatusCode": null,
 "tags": {},
 "headers": null
 }