Configuring SSL for external APIs
API Security Enforcer (ASE) supports both TLS 1.2 and Secure Sockets Layer (SSL) 3 for external application programming interface (API)s.
OpenSSL is bundled with ASE. The following are the version details:
-
RHEL 7 : OpenSSL 1.0.2k-fips January 26, 2017
-
Ubuntu 16LTS : OpenSSL 1.0.2g March 1, 2016
You can configure SSL in ASE for client side connection using one of the following methods:
-
Using a certificate authority (CA)-signed certificate
-
Using a self-signed certificate
-
Using an existing certificate
The steps provided in this section are for certificate and key generated for connections between the client and ASE as depicted in the following diagram.
In a cluster setup:
-
Stop all the ASE cluster nodes.
-
Configure the certificate on the management node.
-
Start the cluster nodes one by one for the certificates to synchronize across the nodes.
-
CA-signed certificate
-
Self-signed certificate
-
Existing certificate and key pair
Using a CA-signed certificate
About this task
To use a CA-signed SSL certificates, follow the process to create a private key, generate a certificate signing request (CSR), and request a certificate as shown in the following diagram.
ASE internally validates the authenticity of the imported certificate. |
To use a CA-signed certificate:
Steps
-
Create a private key.
The ASE command-line interface (CLI) is used to create a 2048-bit private key and to store it in the key store.
Example:
/opt/pingidentity/ase/bin/cli.sh create_key_pair -u admin -p Warning: create_key_pair will delete any existing key_pair, CSR and self-signed certificate Do you want to proceed [y/n]:y Ok, creating new key pair. Creating DH parameter may take around 20 minutes. Please wait Key created in keystore dh param file created at /opt/pingidentity/ase/config/certs/dataplane/dh1024.pem
-
Create a CSR.
ASE takes you through a CLI-based interactive session to create a CSR.
Example:
/opt/pingidentity/ase/bin/cli.sh create_csr -u admin -p Warning: create_csr will delete any existing CSR and self-signed certificate Do you want to proceed [y/n]:y please provide following info Country Code >US State > Colorado Location >Denver Organization >Pingidentity Organization Unit >Pingintelligence Common Name >ase Generating CSR. Please wait... OK, csr created at /opt/pingidentity/ase/config/certs/dataplane/ase.csr
-
Upload the CSR that you created in step 2 to the CA signing authority’s website to get a CA-signed certificate.
-
Download the CA-signed certificate from the CA signing authority’s website.
-
Use the CLI to import the signed CA certificate into ASE.
Example:
/opt/pingidentity/ase/bin/cli.sh import_cert <CA signed certificate path> -u admin -p Warning: import_cert will overwrite any existing signed certificate Do you want to proceed [y/n]:y Exporting certificate to API Security Enforcer... OK, signed certificate added to keystore
Result:
The certificate is imported into the key store.
-
Restart ASE.
For more information, see Starting and stopping ASE.
Using a self-signed certificate
About this task
A self-signed certificate is also supported for customer testing. |
To create a self-signed certificate:
Steps
-
Create a private key.
ASE CLI is used to generate a 2048-bit private key in the
/opt/pingidentity/ase/config/certs/dataplane/dh1024.pem
file.Example:
/opt/pingidentity/ase/bin/cli.sh create_key_pair -u admin -p Warning: create_key_pair will delete any existing key_pair, CSR and self-signed certificate Do you want to proceed [y/n]:y Ok, creating new key pair. Creating DH parameter may take around 20 minutes. Please wait Key created in keystore dh param file created at /opt/pingidentity/ase/config/certs/dataplane/dh1024.pem
-
Create a CSR file.
Example:
/opt/pingidentity/ase/bin/cli.sh create_csr -u admin -p Warning: create_csr will delete any existing CSR and self-signed certificate Do you want to proceed [y/n]:y please provide following info Country Code >US State >colorado Location >Denver Organization >PI Organization Unit >TEST Common Name >yoursiteabc.com Generating CSR. Please wait... OK, csr created at /opt/pingidentity/ase/config/certs/dataplane/ase.csr
-
Use the CLI to produce a self-signed certificate using the certificate request located in
/pingidentity/ase/config/certs/dataplane/ase.csr
.Example:
/opt/pingidentity/ase/bin/cli.sh create_self_sign_cert -u admin -p Warning: create_self_sign_cert will delete any existing self-signed certificate Do you want to proceed [y/n]:y Creating new self-signed certificate OK, self-sign certificate created in keystore
-
Restart ASE.
For more information, see Starting and stopping ASE.
Using an existing certificate and key pair
About this task
If you have an intermediate certificate from a CA, then append the content to your server |
To install an existing certificate:
Steps
-
Import the key pair.
Example:
/opt/pingidentity/ase/bin/cli.sh import_key_pair private.key -u admin -p Warning: import_key_pair will overwrite any existing certificates Do you want to proceed [y/n]:y Exporting key to API Security Enforcer... OK, key pair added to keystore
-
Import the
.crt
file in ASE by running theimport_cert
CLI command.Example:
/opt/pingidentity/ase/bin/cli.sh import_cert server-crt.crt -u admin -p Warning: import_cert will overwrite any existing signed certificate Do you want to proceed [y/n]:y Exporting certificate to API Security Enforcer... OK, signed certificate added to keystore
-
Restart ASE.
For more information, see Starting and stopping ASE.