Assigning key pairs
Assign a key pair to a virtual host or HTTPS listener.
PingAccess listens for HTTPS requests on the Admin, Engine, and Agent ports in all deployments, and on the Config query port in clustered deployments.
You must assign a key pair to each listener. By default, the listeners are configured for HTTPS and use pregenerated key pairs associated with localhost.
|
If using virtual hosts, the following settings take precedence over any applicable HTTPS or engine listeners for the virtual host:
|
| HTTPS Listener | Description | ||
|---|---|---|---|
Admin |
Listens for requests for the administrative console and the PingAccess REST APIs. |
||
Engine |
Listens for HTTP or HTTPS requests proxied to target web servers associated with Sites. Learn more in Engine listeners. |
||
Agent |
Listens for requests from PingAccess agents. |
||
Sideband |
Listens for requests from sideband clients. |
||
Config query |
Listens for requests for configuration information from replica admin nodes and engine nodes in clustered deployments.
|
-
To virtual hosts
-
To HTTPS listeners
Assigning key pairs to virtual hosts
About this task
To assign a key pair to a virtual host:
Steps
-
Click Security, then go to Key Pairs > Key Pairs.
-
Click the Pencil icon, and then click Assign Virtual Host for the key pair.
-
In the Virtual Hosts list, select the virtual hosts that you want to use the key pair with.
When you assign a key pair to a virtual host, the key pair is also assigned to all other virtual hosts with the same host name.
-
Click Save.
Assigning key pairs to HTTPS listeners
About this task
To assign a new key pair for an active HTTPS listener:
Steps
-
Click Security, then go to Key Pairs > Key Pairs.
-
Click the Pencil icon, and then click Assign HTTPS Listener for the key pair.
-
In the Listeners list, select the HTTPS listeners that you want to use the key pair with.
New connections use any of the changes you make to an HTTPS listener’s active key pair, but existing connections continue to use the old configuration.
-
Click Save.
Cipher suite ordering for HTTPS listeners
PingAccess supports the use of a defined cipher suite order to ensure that the most secure cipher suites are used first, regardless of the client request. By default, new PingAccess installations and PingAccess environments upgraded to 5.1 or later use this cipher suite ordering.
-
You can use the
tls.default.cipherSuitesproperty in the<PA_HOME>/conf/run.propertiesfile to change the cipher suite order.Learn more in PingAccess configuration file reference.
-
To direct PingAccess to use the cipher suite order provided by the client instead, use the PingAccess API
/httpsListenersendpoint to set theuseServerCipherSuiteOrderproperty tofalse.Learn more in PingAccess API endpoints.
Automatic key rotation for config query listeners
When you assign a new key pair to the config query listener, PingAccess creates a key rotation window automatically, beginning the process of rotating key pairs on any clustered engine nodes without restarting those nodes. The following occurs:
-
PingAccess opens a temporary port that uses the new key pair. Meanwhile, the old key pair remains accessible on the original port.
The temporary port is configurable using the
clusterconfig.temp.rotation.portproperty in therun.propertiesfile. Learn more in the PingAccess configuration file reference.You can also configure how long the rotation window stays open. Learn more in the Cert rotation section of the configuration file reference.
-
Configured engine nodes poll the
/engines/rest/config-query-certificateendpoint continually at a set interval. Polling this endpoint allows the engine nodes to detect and retrieve the new key pair.For any engines that aren’t running when the key rotation window opens, if you start those engines up at any point during the window, they’ll still rotate the key.
-
The engine nodes save the new key pair to their
bootstrap.propertiesfile, wait until any active configuration changes happening on the engine node are complete, and then start using the new key pair. -
When polling the
/engines/rest/config-query-certificateendpoint for configuration changes, each engine node uses theX-PA-Active-Cert-Fingerprintheader to send a fingerprint of the key that’s currently in its truststore. -
The PingAccess admin console tracks which engines have updated using the fingerprint headers. Once all the engine nodes are using the new key pair, the admin console switches the new key pair to the original port, and then closes the temporary port and the rotation window.
How do I know if autorotation is working?
-
The PingAccess admin console shows a warning banner while the rotation window is open.
-
You can use the PingAccess log to keep track of the specific changes as they’re happening.
-
If you check the
bootstrap.propertiesfile after the rotation window closes, you should see a comment along the lines ofPingAccess engine bootstrap properties updated by cert rotation, followed by a timestamp.