Body
Steps to create a new keystore for use in HSConnect LDAP process.
Summary:
The HSConnect Directory Services (HSCDS) process is a process created by Paul for managing access to the HSConnect application. This process provides interactions between the iTarget created LDAP and Pitt LDAP. When users request access to HSConnect the process determines whether or not a user is locally controlled or a Pitt AD user. In this process there are on-prem users and cloud based communications. Some applications such as DALR are using Amazon AWS Cloud services. The HSCDS was originally running on the old Liberty platform "Volcano". The service was migrated to ARK when we migrated to the Palo Alto firewalls and changed to internal private IP addresses. HSCDS now runs in the DMZ zone and we have specific firewall rules for AWS servers under the DLAR Clients NOG. In addition to the HSCDS we are running Matomo (webanalytics) on the server. The Matomo website is managing certificates through IIS web interface, but the HSCDS manages certificates via a Keystore file.
Previous configurations:
- The original, server was volcano and that server managed al certificates through a keystore because the liberty applications required it. below is what that keystore looked like:
- When the HSCDS migrated to ARK server the keystore looked like this:

- Currently 20211206 the keystore looks like this:

- As you can see by the above keystores we used to use the entire chain in the keystore but we have found that this is not required. We assume at this point the only requirement was for the server certificate itself. We also believe that the entire chain was created depending upon the method used to create the keystore and request for a new certificate. In our current keystore we created a new keystore from scratch and then imported the key "key pair". When this years certificate expired we renewed it by using our normal method for requesting that focused on solving just the IIS website portion of the needs. It was not until the original/previous certificate expired that we realized the issue.
Creating a new Keystore and requesting new SSL certificate:
The reason we are using the keystore process to request for a certificate is that it will allow us to input the entire chain of the certificate when creating. Although this is not required for the HSCCDS to work it is preferred.
- Logon to ARK or any system that has the keystore explorer application installed and working.
- Open the application and select "Create a new keystore"

- You will be prompted with the type of keystore you want to create - choose jks

- Now we need to "Generate Key Pair"
- Choose RSA
- Use 4096 key size

- We need to fill in the Generate Key Pair Certificate dialog box
- Use version 3
- Signature Algorithm is SHA-256with RSA
- We can only use 1 year certificates now.

- Click the icon to the right of the name field to display dialog box:
- Fill in the appropriate information for the server/sites.
- Common Name (CN) the URL of the site e.g. myservername.hs.pitt.edu
- Organization Unit (OU): iTarget
- Organization Name (O): University of Pittsburgh
- Locality Name (L): Pittsburgh
- State Name(ST): Pennsylvania
- Country (C): US

- After clicking OK it will take you back to this window where we can now click Add Extensions if you need to add multiple names for Subject Alternative Names:

- Click the Add Extensions button

- Click the green plus to add an extension and select subject alternative name and check critical extension then click OK:

- Now you can add the DNS names

- Click the green plus to add each DNS name. Click the green plus and fill in the info. Make sure you select DNS Name. Once you are done click OK (in this case we want to add ark.hs.pitt.edu & webanalytics.hs.pitt.edu:
- First DNS name

- second DNS name

- Click OK once you see this window:

- Click OK here as well:

- Click OK
- This should return you to the generate key pair certificate dialog box and you will be asked to provide the keypair Alias name. This may or may not be the first DNS entry you provided. If this is not showing the server name change it to use the server DNS name.

- You will be prompted for the key pair password

- You should now receive a message that the keypair was successful

- You should also see your new keypair in the keystore. for example ark.hs.pitt.edu

- Right click on the new keypair generated and choose "Generate CSR"

- For the certificate Request use the below settings:
- PKCS #10
- SHA-256 with RSA
- Challenge field: leave blank
- Optional Company Name: leave blank
- Browse to E:\Certs enter filename with today's date for the certificate request.(csr).txt will be easier to open later. i.e. (myservername.hs.pitt.edu_YYYY_MM_DD.csr.txt). Select Choose.

- You should receive a Generate CSR successful message, click OK

- Once the CSR has been created, the padlock icon in keystore will be open.
- SAVE THE KEYSTORE
- Saving the keystore prompts you for the keystore password. Use the normal password for our department

- Now you are prompted for the keystore file name. This should identify the server for which this keystore will be used on. i.e. ark.hs.pitt.edu.jks. When working with Liberty applications or HSCDS teh file name would be "certificate.jks".

- Now with our fully created keystore and key pair we can submit for a certificate from Pitt IT.
- THIS IS WHERE I LEFET OFF.
-
- You can now go to the Pitt website to request the Incommon Certificate.
- Browse To:
- https://cert-manager.com/customer/InCommon/ssl?action=enroll
- Enter the access code: UPitt
- Enter email address svc-ssladmin@pitt.edu
- Click the "Check Access Code" button.
- Select the Certificate type:
- For a single hostname, select the "InCommon SSL" option
- For more than one hostname, select the "InCommon Multi Domain SSL" option and enter all of the hostnames in the "Subject Alternative Names" field
- Select your Certificate Profile: InCommon SSL (SHA-2) OLD=Choose Microsoft IIS 5.x and later
- Certificate Term: Select 1 year
- Paste the CSR, from the file you saved in E:\Certificates, into the textbox on the form
- Click the "Get Common Name from CSR" button. Make sure it is correct
- Select the certificate term 1 year
- Enter and verify a pass-phrase for the certificate. Pass-phrase should be "itarget" all lower case, no quotes
- External requester: svc-ssladmin@pitt.edu
- Click the "Enroll" button.

- You will now see a message indicating your request has been submitted successfully.

- After CSSD has processed the request you will receive another email from which you can download the certificate. Download ALL the certs and save them in the E:\certs Directory.
- Now we must add the appropriate certificates to the keystore we created.
- Run As Administrator From the keytool GUI of the appropriate keystore, right click the new keypair and choose "Import CA Reply - From File". The cert reply file is " commonname_cert.cer"

- Repeat the steps in 15 to add "commonname.cer" to add the rest of the cert chain.


- Adding the " commonname.crt" adds the AAA certificate services level:

- Save the keystore
- Stop and restart the appropriate service on the server if necessary.
- Open a web browser, go to the site and check that the site shows the new certificate expiration date
NOTE - for Liberty back end servers after you create the JKS file you need to copy it to a specific directory.
-
- E:\IBM\WebSphere\Liberty\usr\shared\resources\certificates
- In this folder you will see two JKS files
- trust.jks
- servername.jks
6/24/2020Using INCommon SSL (SHA -2) type
the "hs_pitt_edu_cert.cer" is the cert file accepted in the keystore.
Available formats:
as Certificate (w/ chain), PEM encoded: https://cert-manager.com/customer/InCommon/ssl?action=download&sslId=1858452&format=x509 downloads as bidev01_hs_pitt_edu.cer
as Certificate only, PEM encoded: https://cert-manager.com/customer/InCommon/ssl?action=download&sslId=1858452&format=x509CO downloads as bidev01_hs_pitt_edu_cert.cer
as PKCS#7, PEM encoded: https://cert-manager.com/customer/InCommon/ssl?action=download&sslId=1858452&format=base64 downloads as bidev01_hs_pitt_edu.crt
as PKCS#7: https://cert-manager.com/customer/InCommon/ssl?action=download&sslId=1858452&format=bin
downloads as bidev01_hs_pitt_edu.p7b
Issuing CA certificates only:
as Root/Intermediate(s) only, PEM encoded: https://cert-manager.com/customer/InCommon/ssl?action=download&sslId=1858452&format=x509IO downloads as bidev01_hs_pitt_edu_interm.cer
as Intermediate(s)/Root only, PEM encoded: https://cert-manager.com/customer/InCommon/ssl?action=download&sslId=1858452&format=x509IOR downloads as bidev01_hs_pitt_edu_interm (1).cer