Certificate Installation
Introduction
By default, ScaleOut Active Caching software is configured to run on a single host by using the ‘localhost’ name, TCP ports 7701, 8801, 9901, and a self-signed ScaleOut certificate. This guide provides a stepwise approach to installing a custom certificate, configuring custom DNS names, and managing TCP ports across both Windows and Linux environments.
Certificates
What is a Certificate?
A certificate is a digital document that authenticates the identity of a website or a service and enables encrypted connections. Certificates follow the X.509 standard and are issued by a Certificate Authority (CA).
Types of Certificates
Self-Signed Certificate: generated and signed by you, suitable for internal testing.
CA-Signed Certificate: issued by a trusted third-party (e.g., Sectigo, DigiCert, GlobalSign, etc.), essential for production.
Securing ScaleOut Active Caching endpoints
ScaleOut Active Caching installs 3 middleware web services running on Windows as Windows services and on Linux as system daemons.
ScaleOut StateServer Active Caching Web Console
ScaleOut StateServer Active Caching Identity
ScaleOut StateServer Active Caching Messaging REST Service
ScaleOut’s default configuration uses the same self-signed certificate for all these services. By default, it is located in the /certs subfolder of the main installation folder for each of these services. For example, for the Active Caching Web Console service, the default certificate’s folder location is:
On Windows:
C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\WebService.Api\certs
On Linux:
/usr/lib/soss-ac/soss-ac-web/certs
The appsettings.json configuration file for each of these services specifies this subfolder as the certificate location. The certificate’s password is stored in the SOSS_AC_CERT_PASSWORD environment variable. On Windows, it is a part of the system environment variables list; for Linux, it is specified in the following system service configuration files:
/usr/lib/systemd/system/soss-ac-web.service
/usr/lib/systemd/system/soss-ac-msg.service
/usr/lib/systemd/system/soss-ac-identity.service
Use your own self-signed certificate and the ‘localhost’ DNS name.
Copy your self-signed certificate (*.pfx) to the following folders:
C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\WebService.Api\certs
C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\IdentityServer\certs
C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\Messaging.Api\certs
Update the certificate password stored in the SOSS_AC_CERT_PASSWORD system environment variable.
Restart the following ScaleOut Windows services:
ScaleOut StateServer Active Caching Web Console
ScaleOut StateServer Active Caching Identity
ScaleOut StateServer Messaging REST Service
If you want to suppress a browser’s warning that it does not trust this self-signed certificate, you can follow the steps below:
Right-click on the public key certificate file (either .crt, .cer, .der, or .pub) and choose
Install Certificate
. The Certificate Import Wizard will appear.Select the
Local Machine
store location and clickNext
.Select
Place all certificates in the following store
and click onBrowse
.Select the
Trusted Root Certification Authorities
store and clickOk
.Click
Next
and thenFinish
to complete the installation of the public key certificate.
Use a certificate issued by a trusted certificate authority (CA)
Install a new certificate in the Windows Local Computer certificate store:
Right-click on the .pfx certificate file and choose
Install Certificate
. The Certificate Import Wizard will appear.Select the
Local Machine
store location and clickNext
.Confirm certificate location and click
Next
.Type the password for the private key and click
Next
.Leave the
Automatically select the certificate store
option and clickNext
.Click
Next
and thenFinish
to complete the installation of the certificate.
Add Read permission for the Network Service account to the certificate’s private key so ScaleOut Active Caching services can read it. You can do it manually or by running a PowerShell script.
Add permission manually:
Find the certificate by opening MMC → Certificates (Computer account) → Personal → Certificates.
Locate your TLS certificate by subject name or thumbprint.
Right-click the certificate → All Tasks → Manage Private Keys…
Add the NT AUTHORITY\NETWORK SERVICE account and grant Read permission.
Alternatively, you can add permission by running the PowerShell script:
$thumbprint = "YOUR_CERT_THUMBPRINT" $cert = Get-ChildItem -Path Cert:\\LocalMachine\\My | Where-Object Thumbprint -eq $thumbprint $cert | Format-List Subject,HasPrivateKey,Thumbprint # Get the path to the private key $keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName $keyPath = "$env:ProgramData\\Microsoft\\Crypto\\RSA\\MachineKeys\\$keyName" # Add Network Service with Read permission icacls $keyPath /grant "NT AUTHORITY\\NETWORK SERVICE:R"
Change the ScaleOut Active Caching configuration files to use a new certificate, custom DNS, and port values.
Note
As an example, we assume here that the web console service uses port 443, the caching identity service - port 444, and the messaging service - port 446 (the port 443 is not specified in the corresponding URLs below since it is a default SSL port).
Configuring the Active Caching Web Console service
Open the C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\WebService.Api\appsettings.json file.
Locate the “Kestrel” → “Endpoints” → “Https” section and change the “Url” property value to use your corresponding DNS and port values. For example: “Url”: “https://activecaching.mycompany.com”.
Locate the “Security” → “Authentication” section and change the AuthURL and ValidIssuer to use your corresponding DNS and port values.
For example:
“AuthURL”: “https://activecaching.mycompany.com:444”,
“ValidIssuer”: “https://activecaching.mycompany.com:444”.
Locate the “Security” section and change the CorsOrigins property value to use your corresponding DNS and port values. For example:
“CorsOrigins”: [https://activecaching. mycompany.com]
Open the C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\WebService.Api\appsettings.windows.json file. - Locate the “Kestrel” → “Endpoints” → “Https” → “Certificate” section.
Set the CertSource property to “Store”.
Set the CertThumbprint property to the thumbprint value of your certificate.
Open the C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\WebService.Api\wwwroot\env.js file. - Change the WEB_CONSOLE_URL and AUTH_URL properties’ values to use your corresponding DNS and port values. For example:
“WEB_CONSOLE_URL”: “https://activecaching.mycompany.com”,
“AUTH_URL”: “https://activecaching.mycompany.com:444”.
Configuring the Active Caching Identity service
Open the C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\IdentityServer\appsettings.json file.
Locate the “Kestrel” → “Endpoints” → “Https” section and change the “Url” property value to use your corresponding DNS and port values. For example:
“Url”: “https://activecaching.mycompany.com:444”.
Locate the “IdentityServerClients” → “ActiveCachingClient” section and change the RedirectUris, PostLogoutRedirectUris, and AllowedCorsOrigins properties’ values to use your corresponding DNS and port values. For example:
“RedirectUris”: [ “https://activecaching.scaleoutsoftware.com” ],
“PostLogoutRedirectUris”: [ “https://activecaching.scaleoutsoftware.com” ],
“AllowedCorsOrigins”: [ “https://activecaching.scaleoutsoftware.com”, “https://activecaching.scaleoutsoftware.com:444” ]
Open the C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\IdentityServer\appsettings.windows.json file.
Locate the “Kestrel”→”Endpoints”→”Https”→”Certificate” section.
Set the CertSource property to “Store”.
Set the CertThumbprint property to the thumbprint value of your certificate.
Configuring the Active Caching Messaging service
Open the C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\Messaging.Api\appsettings.json file. - Locate the “Kestrel”→”Endpoints”→”Https” section and change the “Url” property value to use your corresponding DNS and port values. For example:
“Url”: “https://activecaching.mycompany.com:446”.
Locate the “Security” section and change the CorsOrigins property value to use your corresponding DNS and port values. For example:
“CorsOrigins”: [https://activecaching. mycompany.com:446]
Open the C:\Program Files\ScaleOut_Software\ActiveCachingWebUI\Messaging.Api\appsettings.windows.json file.
Locate the “Kestrel”→”Endpoints”→”Https”→”Certificate” section.
Set the CertSource property to “Store”.
Set the CertThumbprint property to the thumbprint value of your certificate.
Restart ScaleOut Active Caching Windows services
Restart-Service -Name soss-ac-web
Restart-Service -Name soss-ac-identity
Restart-Service -Name soss-ac-msg
Use a Certificate Authority (CA) Trusted Certificate
Copy your PKCS7 signed file certificate (*.pfx, *.p12 if the certificate is in the PKCS#12 format, and *.pem if it uses the Privacy-Enhanced Mail format) to the following folders:
/usr/lib/soss-ac/soss-ac-web/certs
/usr/lib/soss-ac/soss-ac-identity/certs
/usr/lib/soss-ac/soss-ac-msg/certs
Update the certificate password stored in the SOSS_AC_CERT_PASSWORD environment variable in the following service files:
/usr/lib/systemd/system/soss-ac-web.service
/usr/lib/systemd/system/soss-ac-msg.service
/usr/lib/systemd/system/soss-ac-identity.service
Change the ScaleOut Active Caching configuration files to use the new certificate, custom DNS, and port values (below).
Note
These instructions assume that the services are all running on the same machine. The soss-ac-web service uses port 443, the caching identity service uses port 444, and the messaging service uses port 446. (Port 443 is not specified in the URLs below since it is the default SSL port.)
Configuring the Active Caching Web Console service
Open the
/usr/lib/soss-ac/soss-ac-web/appsettings.json
file.Locate the “Kestrel” –> “Endpoints” –> “Https” section and change the “Url” property to use your servers DNS and port values.
Example:
"Url": "https://activecaching.mycompany.com"
Locate the “Security” –> “Authentication” section and update the “AuthURL” and “ValidIssuer” properties.
Example:
"AuthURL": "https://activecaching.mycompany.com:444",
"ValidIssuer": "https://activecaching.mycompany.com:444"
Locate the “Security” section and change the “CorsOrigins” property to use your servers DNS and port values
Example:
"CorsOrigins": ["https://activecaching.mycompany.com"]
Open the
/usr/lib/soss-ac/soss-ac-web/appsettings.linux.json
file.Locate the “Kestrel” –> “Endpoints” –> “Https” –> “Certificate” section.
Change the “CertPath” property to point to the new certificate file.
Open the
/usr/lib/systemd/system/soss-ac-web.service
file.Update the SOSS_AC_CERT_PASSWORD environment variable with the password of the new certificate.
Open the
/usr/lib/soss-ac/soss-ac-web/wwwroot/env.js
file.Change the WEB_CONSOLE_URL and AUTH_URL values to use your servers DNS and port values.
Example:
"WEB_CONSOLE_URL": "https://activecaching.mycompany.com",
"AUTH_URL": "https://activecaching.mycompany.com:444"
Configuring the Active Caching Identity service
Open the /usr/lib/soss-ac/soss-ac-identity/appsettings.json file.
Locate the “Kestrel” –> “Endpoints” –> “Https” section
Example:
"Url": "https://activecaching.mycompany.com:444"
Locate the “IdentityServerClients” –> “ActiveCachingClient” section.
Update the following properties to use your servers DNS and port values.
Example:
"RedirectUris": [ "https://activecaching.mycompany.com" ],
"PostLogoutRedirectUris": [ "https://activecaching.mycompany.com" ],
"AllowedCorsOrigins": [
"https://activecaching.mycompany.com",
"https://activecaching.mycompany.com:444"
]
Open the
/usr/lib/soss-ac/soss-ac-identity/appsettings.linux.json
file.Locate the “Kestrel” –> “Endpoints” –> “Https” –> “Certificate” section.
Change the “CertPath” property to point to the new certificate file.
Open the
/usr/lib/systemd/system/soss-ac-identity.service
file.Update the SOSS_AC_CERT_PASSWORD environment variable with the password of the new certificate.
Configuring the Active Caching Messaging service
Open the
/usr/lib/soss-ac/soss-ac-msg/appsettings.json
file.Locate the “Kestrel” –> “Endpoints” –> “Https” section.
Example:
"Url": "https://activecaching.mycompany.com:446"
Locate the “Security” section and update the CorsOrigins property.
Example:
"CorsOrigins": ["https://activecaching.mycompany.com:446"]
Open the
/usr/lib/soss-ac/soss-ac-msg/appsettings.linux.json
file.Locate the “Kestrel” –> “Endpoints” –> “Https” –> “Certificate” section.
Change the “CertPath” property to point to the new certificate file.
Open the
/usr/lib/systemd/system/soss-ac-msg.service
file.Update the SOSS_AC_CERT_PASSWORD environment variable with the password of the new certificate.
Reload and Restart Services
Reload the systemd service files:
sudo systemctl daemon-reload
Restart the ScaleOut Active Caching daemons:
sudo systemctl restart soss-ac-web
sudo systemctl restart soss-ac-identity
sudo systemctl restart soss-ac-msg