Trustwave

Trustwave Request Objects

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

Type: String

Constraint: The value should be Trustwave.

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

certificateType (Mandatory) Name of the certificate product offered by the certificate authority.

Type: String

description (Optional) Information about the certificate.

Type: String

csrParameters (Optional) Parameters required for generating a CSR.

Type: Trustwave CSR Parameters

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

Type: Trustwave genericFields

validityInDays (Optional) Specifies the validity in days.

Type: Integer

name (Optional) Name for the CA connector.

Type: String

Table 2. Trustwave 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.’

Note: commonName field is optional for Code Signing certificates.
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.

streetAddress (Optional) Street name where the organization is located.

Type: String

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.

postalCode (Optional) Postal code for the organization address.

Type: String

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.
dNSNames

enhancedSANTypes

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

Type: Array of String

Table 3. Trustwave 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.

Sample Request/Response

Request Payload
 {
 "csrGenerationSource": "appviewx",
 "caConnectorInfo": {
 "certificateAuthority": "Trustwave",
 "isAutoRenewal": "true",
 "renewBefore": "30",
 "autoRegenerateEnabled": false,
 "caSettingName": "trustwave",
 "certificateType": "SecureTrust Organization Validation",
 "description": "",
 "csrParameters": {
 "commonName": "testcert.testdomain.com",
 "organization": "AppViewX",
 "organizationUnit": "PE",
 "streetAddress": "Park Street",
 "locality": "Plano",
 "state": "Texas",
 "country": "US",
 "postalCode": "75093",
 "mailAddress": "[email protected]",
 "hashFunction": "SHA256",
 "keyType": "RSA",
 "bitLength": "2048",
 "certificateCategories": ["Client"],
 "ellipticCurve": "",
 "enhancedSANTypes": {
 "dNSNames": []
 }
 },
 "genericFields": {
 "device_name_Trustwave": "test_device",
 "vs_ip_Trustwave": "xxx.xxx.xxx.xxx"
 },
 "validityInDays": 365
 },
 "certificateGroup": {
 "name": "Default"
 }
 } 
Response
 {
 "response": {
 "resourceId": "5f4e934570040d33314f0f1d",
 "requestId": "151"
 },
 "message": "Certificate submission triggered successfully.",
 "appStatusCode": null,
 "tags": {},
 "headers": null
 }