Page History
...
Introduction
- Users benefit from the certificate authority the Certificate Authority included with JOC Cockpit to create and to roll-out rollout private keys and certificates.
- This includes simplified roll-out rollout to Controller and Agent instances to establish secure HTTPS connectionsestablish JS7 - Secure Connections.
- The buildbuilt-in certificate authority Certificate Authority is applicable when operating JOC Cockpit in a low or medium security levelSecurity Level Low or Medium, see JS7 - Security Architecture and JS7 - Secure Operation.
- The built-in certificate authorityCertificate Authority
- creates X.509 certificates for HTTPS Mutual Authentication
- between JOC Cockpit and Controller instances,
- between Primary and Secondary Controller instances,
- between Controller instances and Agents.
- is not used to create server authentication certificates Server Authentication Certificates for access to JOC Cockpit. Access is performed by user browsers, therefore it is preferable to use a server authentication certificate Server Authentication Certificate that is signed by a known certificate authority Certificate Authority for which user browsers include the root Root CA certificate.
- creates X.509 certificates for HTTPS Mutual Authentication
- Users benefit from simplified rollout of private keys and certificates when using the built-in certificate authorityin Certificate Authority.
JS7 provides a Certificate Rollout Client available with Controller and Agents instance Start Scripts to create and to roll-out rollout private keys and certificates using the built-in certificate authorityCertificate Authority. Rollout of private keys and certificates created with an external certificate authority Certificate Authority are not in scope of the Command Line Certificate Rollout Client. The functionality includes
...
Rollout of certificates includes to perform the following steps
- JOC Cockpit
- The JOC Cockpit certificate authority has to be available Cockpit Certificate Authority is set up and the Root CA private key and certificate have been createdare available.
- Valid security tokens have been are generated with JOC Cockpit for the Controller and Agent instances that require a certificate.
- For details see JS7 - Certificate Authority - Manage Certificates with JOC Cockpit
- Controller/Agent Instance
- Both components include the Certificate Rollout Client that is available from the Controller/Agent Instance Start Script.
- The Certificate Rollout Client connects to JOC Cockpit. Authentication is performed by use of the one-time security token generated with the previous step.
- The JOC Cockpit certificate authority Certificate Authority is requested to create a private key and server/client certificate Server/Client Authentication Certificate for the specified host. Private key and certificate are created on-the-fly and are returned to the Certificate Rollout Client. In addition, JOC Cockpit stores the certificate with its databasethe JS7 - Database. The Certificate Rollout Client
- stores the private key in a keystore file,
- stores the server/client certificate Server/Client Authentication Certificate in a truststore file,
- updates the configuration in the
./config/private/private.conf
file.
...
The Controller/Agent Instance Start Script for Unix and Windows includes the Certificate Rollout Client and is available from the following locations:
...
The following arguments are used independently from an HTTP connection or HTTPS connection to JOC Cockpit:
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Explanation:
|
...
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
Explanation:
|
...
The following arguments are used in addition to HTTPS connection arguments in case that JOC Cockpit is setup set up for JOC Cockpit - HTTPS Mutual Authentication.
Expand | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
Explanation:
|
...
- the
cert
argument for the Instance Start Script to build the Java classpath and to start the Java executable. - The
--token
argument specifies the one-time token to connect to JOC Cockpit. - The
--joc-uri
argument specifies the URL for JOC Cockpit. - If no additional arguments are used then the Command Line Client determines default values for the Keystore and Truststore from the instances'
./config/private/private.conf
configuration file, including defaults for the DN and for the SAN of the certificate.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
./bin/controller_instance.sh cert \ --token=73bfc4b8-3f15-44b9-a75b-cdb44aec8f4b \ --joc-uri=http://somehost.example.com:4446 \ --san="myhost.example.com, myhost" \ --subject-dn="CN=myhost, OU=IT Operations, O=SOS, C=DE, L=Berlin, ST=Berlin" \ --key-alias=myhost \ --ca-alias="Root CA" \ --target-keystore=/var/sos-berlin.com/js7/controller/var/config/private/https-keystore.p12 \ --target-keystore-pass=jobscheduler \ --target-keystore-entry-pass=jobscheduler \ --target-truststore=/var/sos-berlin.com/js7/controller/var/config/private/https-truststore.p12 \ --target-truststore-pass=jobscheduler |
Explanation:
...
Example for use with an HTTPS Connection to JOC Cockpit and Mutual Authentication from a Client Truststore
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
./bin/controller_instance.sh cert \ --token=73bfc4b8-3f15-44b9-a75b-cdb44aec8f4b \ --joc-uri=https://somehost.example.com:4446 \ --san="myhost.example.com, myhost" \ --subject-dn="CN=myhost, OU=IT Operations, O=SOS, C=DE, L=Berlin, ST=Berlin" \ --key-alias=myhost \ --ca-alias="Root CA" \ --source-keystore=/home/sos/private/js7-keystore.p12 \ --source-keystore-pass="" \ --source-keystore-entry-pass="" \ --source-truststore=/home/sos/private/js7-truststore.p12 \ --source-truststore-pass="" \ --target-keystore=/var/sos-berlin.com/js7/controller/var/config/private/https-keystore.p12 \ --target-keystore-pass=jobscheduler \ --target-keystore-entry-pass=jobscheduler \ --target-truststore=/var/sos-berlin.com/js7/controller/var/config/private/https-truststore.p12 \ --target-truststore-pass=jobscheduler |
...
- tbd
Example for use with an HTTPS Connection to JOC Cockpit and Mutual Authentication from a Client Key File
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
./bin/controller_instance.sh cert \ --token=73bfc4b8-3f15-44b9-a75b-cdb44aec8f4b \ --joc-uri=https://myhost.example.com:4446 \ --san="myhost.example.com, myhost" \ --subject-dn="CN=myhost, OU=IT Operations, O=SOS, C=DE, L=Berlin, ST=Berlin" \ --key-alias=myhost \ --ca-alias="Root CA" \ --source-private-key=/home/sos/private/myhost.key \ --source-certificate=/home/sos/public/myhost.pem \ --source-ca-cert="/home/sos/public/intermediate_ca.pem, /home/sos/public/root_ca.pem" \ --target-keystore=var/sos-berlin.com/js7/controller/var/config/private/https-keystore.p12 \ --target-keystore-pass=jobscheduler \ --target-keystore-entry-pass=jobscheduler \ --target-truststore=var/sos-berlin.com/js7/controller/var/config/private/https-truststore.p12 \ --target-truststore-pass=jobscheduler |
Explanation:
...