VenafiTLSProtect
Retrieves information about certificates stored in Venafi.
IT Services · CyberArk Certificate Manager Self-Hosted
Details
| ID | VenafiTLSProtect |
|---|---|
| Provider | CyberArk |
| Category | IT Services |
| From Version | 6.9.0 |
| Docker Image | demisto/python3:3.12.13.10116658 |
| Supported Modules | Agentix XSIAM |
README
Retrieves information about certificates stored in Venafi.
Configure CyberArk Certificate Manager on Cortex XSOAR
- Navigate to Settings > Integrations > Servers & Services.
- Search for CyberArk Certificate Manager.
-
Click Add instance to create and configure a new integration instance.
Parameter Required Server URL (e.g., https://192.168.0.1) True User Name True Password True Client ID True Trust any certificate (not secure) False Use system proxy settings False - Click Test to validate the URLs, token, and connection.
Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
venafi-get-certificates
Gets Venafi certificates query. All dates are in 2016-11-12T00:00:00.0000000Z format. For additional field information, see: https://ao-tlspd.dev.ven-eco.com/aperture/help/Content/SDK/WebSDK/r-SDK-Certificates-search-attribute.htm and https://ao-tlspd.dev.ven-eco.com/aperture/help/Content/SDK/WebSDK/r-SDK-Certificates-search-status.htm
Base Command
venafi-get-certificates
Input
| Argument Name | Description | Required |
|---|---|---|
| CreatedOn | The date on which the certificated was created. Specify YYYY-MM-DD or the ISO 8601 format. | Optional |
| CreatedOnGreater | Find certificates created after this date. Specify YYYY-MM-DD or the ISO 8601 format. | Optional |
| CreatedOnLess | Find certificates created before this date. Specify YYYY-MM-DD or the ISO 8601 format. | Optional |
| Disabled | Include only certificates that are enabled 0 or disabled 1. | Optional |
| InError | Whether to include only certificates that are in an error state (1) or not in an error state (0). | Optional |
| ValidationState | Validation state. Possible values are: Blank, Success, Failure. | Optional |
| ManagementType | Management type. Possible values are: Unassigned, Monitoring, Enrollment, Provisioning. | Optional |
| Name | Name of the certificate object. | Optional |
| NetworkValidationDisabled | Whether to include only certificates with network validation disabled (1) or enabled (0). | Optional |
| ParentDn | The full path to the parent of the object in Trust Protection Platform (e.g., \VED\Policy\Engineering,\VED\Policy\HR). | Optional |
| ParentDnRecursive | The specific folder from which to retrieve certificates. (The subfolders will also be scanned.) Accepts a single value. | Optional |
| PendingWorkflow | Whether to include only certificates that are pending workflow resolution (have an outstanding workflow ticket). | Optional |
| Stage | Comma-separated list of stages in the certificate lifecycle. Will retrieve certificates at one or more of the stages. | Optional |
| StageGreater | Find certificates with a stage greater than the specified stage (does not include specified stage). | Optional |
| StageLess | Stage before which to retrieve certificates. | Optional |
| ValidationDisabled | Whether to include only certificates with validation disabled (1) or enabled (0). | Optional |
| C | Find certificates by Country attribute of Subject DN. | Optional |
| CN | Find certificates by Common name attribute of Subject DN. | Optional |
| Issuer | Find certificates by issuer. Use the CN ,O, L, S, and C values from the certificate request. Surround the complete value within double quotes (“). If a value already has double quotes, escape them with a second set of double quotes. For example, OU=”“(c) 2020 Entrust, Inc. - for authorized use only””. | Optional |
| KeyAlgorithm | Algorithm for the public key in the certificate (e.g., RSA, DSA). | Optional |
| KeySize | Comma-separated list of the bit size of the public key in the certificate (e.g., 2048). | Optional |
| KeySizeGreater | The size for which the public key size is greater than. | Optional |
| KeySizeLess | The size for which the public key size is less than. | Optional |
| L | Find certificates by Locality/City attribute of Subject Distinguished Name (SDN). | Optional |
| O | Find certificates by Organization attribute of Subject DN. | Optional |
| S | Find certificates by State/Province attribute of Subject DN. | Optional |
| Serial | Serial number of the certificate. | Optional |
| SignatureAlgorithm | The algorithm used to sign the certificate (e.g., SHA1RSA). | Optional |
| ValidFrom | Date on which the certificate was issued (e.g., 2015- 10-08T19:15:35.6431456Z or 2015-10-08). | Optional |
| ValidTo | Date on which the certificate expires (e.g., 2015-10- 08T19:15:35.6431456Z or 2015-10-08). | Optional |
| ValidToGreater | Date after which the certificates expire. | Optional |
| ValidToLess | Date before which the certificates expire. | Optional |
| Limit | The maximum number of certificates to return. Default value = 50. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Venafi.Certificate.CreatedOn | date | The exact date and time when the certificate object was created. |
| Venafi.Certificate.DN | string | The DN of the certificate. |
| Venafi.Certificate.Name | string | The name of the certificate. |
| Venafi.Certificate.ParentDN | string | The full path to the parent of the object in Trust Protection Platform. |
| Venafi.Certificate.SchemaClass | string | The class name of the certificate object. |
| Venafi.Certificate.ID | string | The certificate object GUID. |
| Venafi.Certificate.X509 | dictionary | Enrolled or issued certificate information: CN, Issuer, KeyAlgorithm, KeySize, SANS, Serial, Subject, Thumbprint, ValidFrom, ValidTo. |
venafi-get-certificate-details
Uses a certificate GUID to extract more details from the certificate store.
Base Command
venafi-get-certificate-details
Input
| Argument Name | Description | Required |
|---|---|---|
| guid | The ID of the certificate. Get certificates ID by running the command “venafi-get-certificates”. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| Venafi.Certificate.ID | string | The certificate object GUID. |
| Venafi.Certificate.ParentDN | string | The full path to the parent of the object in Trust Protection Platform. |
| Venafi.Certificate.CreatedOn | date | The exact date and time when the Certificate object was created. |
| Venafi.Certificate.DN | string | The DN of the certificate. |
| Venafi.Certificate.Name | string | The name of the certificate. |
| Venafi.Certificate.SchemaClass | string | The class name of the certificate object. |
| Venafi.Certificate.Approver | string | An array of one or more users or groups who are certificate approvers. |
| Venafi.Certificate.CertificateAuthorityDN | string | The CA template that is required for certificate renewal. |
| Venafi.Certificate.Contact | string | An array of one or more users or groups who receive event notifications. The events notify people about certificate expiration and validation failures. |
| Venafi.Certificate.Description | string | Certificate description. |
| Venafi.Certificate.ManagedBy | string | Certificate manager. |
| Venafi.Certificate.ManagementType | string | The level of management that the Trust Protection Platform applies to the certificate. |
| Venafi.Certificate.CertificateDetails.AIAKeyIdentifier | string | Authority key identifier. |
| Venafi.Certificate.CertificateDetails.Issuer | string | The CN, O, L, S, and C values from the certificate request. |
| Venafi.Certificate.CertificateDetails.Serial | string | The unique serial number that the CA assigned to the certificate. |
| Venafi.Certificate.CertificateDetails.Subject | string | The CN, O, L, S, and C values from the certificate request. |
| Venafi.Certificate.CertificateDetails.Thumbprint | string | The SHA1 thumbprint hash of the certificate. |
| Venafi.Certificate.CertificateDetails.ValidFrom | string | Certificate validation start date. |
| Venafi.Certificate.CertificateDetails.ValidTo | string | Certificate validation end time. |
| Venafi.Certificate.CertificateDetails.AIACAIssuerURL | array | Available only when the certificate was issued by a well-configured CA. An array of Authority Information Access (AIA). Shows the CA issuer link and the CA’s certificate details. May also include Online Certificate Status Protocol (OCSP) information about revocation. |
| Venafi.Certificate.CertificateDetails.CN | string | The Common Name attribute of Subject Distinguished Name (DN). |
| Venafi.Certificate.CertificateDetails.EnhancedKeyUsage | string | The PKI Server Authentication object identifier (OID). |
| Venafi.Certificate.CertificateDetails.KeyAlgorithm | string | The algorithm for the public key. |
| Venafi.Certificate.CertificateDetails.KeySize | string | Only available for RSA certificates. The bit size of the public key. |
| Venafi.Certificate.CertificateDetails.KeyUsage | string | A list of Key Usage extension values that describe the purpose of the public key. |
| Venafi.Certificate.CertificateDetails.OU | string | An array of Organization Units or names. |
| Venafi.Certificate.CertificateDetails.PublicKeyHash | string | The public key hash string. Available only when the certificate has a private key. |
| Venafi.Certificate.CertificateDetails.SKIKeyIdentifier | string | The generated Subject Key Identifier (SKI). |
| Venafi.Certificate.CertificateDetails.SignatureAlgorithm | string | The signature algorithm for signing the certificate. |
| Venafi.Certificate.CertificateDetails.SignatureAlgorithmOID | string | The Signature Object ID for signing the certificate. |
| Venafi.Certificate.CertificateDetails.StoreAdded | string | The Date Time stamp when the private key was added to the store. |
| Venafi.Certificate.CertificateDetails.SubjectAltNameDNS | string | An array of Domain Name System (DNS) SANs. |
| Venafi.Certificate.CertificateDetails.SubjectAltNameEmail | string | An array of Email SANs. Based on RFC 822. |
| Venafi.Certificate.CertificateDetails.SubjectAltNameOtherNameUPN | string | An array of User Principal Name (UPN) SANs. |
| Venafi.Certificate.CertificateDetails.SubjectAltNameIPAddress | string | An array of IP address SANs. |
| Venafi.Certificate.CertificateDetails.SubjectAltNameURI | string | An array of Uniform Resource Indicator (URI) SANs. |
| Venafi.Certificate.CreatedBy | string | The object that initiated enrollment or provisioning changes. The default is Web SDK. |
| Venafi.Certificate.Origin | string | Filter by origin. |
| Venafi.Certificate.ProcessingDetails | dictionary | Absent when the certificate is not currently processing in the Trust Protection Platform lifecycle: InError, InProcess, Stage, Status, TicketDN. |
| Venafi.Certificate.RenewalDetails | dictionary | A list of certificate renewal information. |
| Venafi.Certificate.ValidationDetails | dictionary | A list of host identity information and the overall certificate validation state result. If no validation occurred, only the lastvalidationstateupdate field appears. All other validationdetails fields are absent. |
Configuration parameters
server— Server URL (e.g., https://192.168.0.1) (required)credentials— User Name (required)client_id— Client ID (required)insecure— Trust any certificate (not secure)proxy— Use system proxy settings
Commands (2)
-
venafi-get-certificate-detailsUses a certificate GUID to extract more details from the certificate store.
-
venafi-get-certificatesGets Venafi certificates query. All dates are in 2016-11-12T00:00:00.0000000Z format. For additional field information, see: https://ao-tlspd.dev.ven-eco.com/aperture/help/Content/SDK/WebSDK/r-SDK-Certificates-search-attribute.htm and https://ao-tlspd.dev.ven-eco.com/aperture/help/Content/SDK/WebSDK/r-SDK-Certificates-search-status.htm
To access the Venafi TLS Protect service, you need to provide: - Your Venafi TLS Protect server URL. For example: "https://example.ven-eco.com". - The Client ID, username, and password as parameters for the integration. ### OAuth 2.0 #### Setting up token authentication 1. From the Platform product menu, click API > Default Settings. 2. Expand the Tokens panel, and confirm or update the following values as appropriate: | Field | Description | | -------------------------- |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Refresh Token | Refresh settings:<br>- Enabled: Default. Receive a refresh token with the request for a bearer access token. Prior to the Token Validity day, you can send the refresh token to the VEDAuth server to get a new bearer access token.<br>- Disabled: At the time when the VEDAuth server issues a bearer access token, no refresh token is supplied. The validity period is determined by the application's grant validity. | | Token expires after | The period of time that the bearer access token is valid before rotation is required. The default is 90 days. | | Access expires after | The maximum time that an authorization grant for the Token Auth scope is valid. If the Refresh Token is enabled, you can continue to get new tokens until the token and grant expire. The default is 1 year. | 3. Expand the Session cache panel and confirm or update the following values as appropriate. | Field | Description | | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Expiration Mode | Expiration mode settings:<br>- Normal: (Default) Credentials will be cached for better performance. Cache will refresh with the Session expiration setting, described below.<br>- Strict: Credentials will be verified on every API call, requiring an extra call to the database for every call, thus costing performance. (Internal testing at Venafi suggests response time can be 40% longer when using Strict mode.) | | Session Pool Size (sessions) | The number of concurrent sessions for API calls. The default is 5000. If the number of simultaneous API calls exceed the pool size, the oldest unused session is removed from the pool. | | Session Expiration (minutes)| The number of minutes each token remains in memory. The default is 1440, which is 24 hours. | 4. Allowed Authentication Methods | Authentication | Trust Protection Platform Authentication Server Setting | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Username & Password | The client passes a user name and password to the VEDAuth server | | Integrated MS Windows Authentication | Default. The client passes Windows credentials to the VEDAuth server | | Browser-based authentication | - Enabled: Default. Allow multi-factor authentication for devices. A successful response includes a web link to complete the authentication.<br>- Disabled: Block browser-based authentication | | JSON web token | A token in JSON format that is used to communicate between a trusted identity provider and Venafi Platform | | Certificate | The caller passes a client certificate to the VEDAuth server. When selected, the Use AD Security Identifier (SID) value if available option appears | | AD Security Identifier (SID) | If you select Certificate, the Use AD Security Identifier (SID) value if available option appears. In this scenario, AuthServer follows a specific process. First, it looks for the SID Extension value in the certificate. If the SID Extension is found, AuthServer tries to find the matching AD user. However, if the SID Extension is not in the certificate or doesn't match an AD account, AuthServer will then use the "Location" setting as a backup. | 5. Click Save 6. Either wait 10 minutes or remote into the server and from the command line, type iisreset. 7. Find the scopes that your application needs in the [Scope map for tokens.](https://docs.venafi.com/Docs/23.3/TopNav/Content/SDK/AuthSDK/r-SDKa-OAuthScopePrivilegeMapping.php) 8. From the Platform menu bar, click API > Integrations, register and set scopes for your application. Set all of the scopes that your integration requires. ``` { "username": "<your_username>", "password": "<your_password", "client_id": "My Certificate Integration", "scope": "certificate" } ``` #### Getting a token To get a token, call an Authorize method with the values you just defined. For more information, see [Getting a token.](https://docs.venafi.com/Docs/23.3/TopNav/Content/SDK/AuthSDK/t-SDKa-GetBearerToken.php)