Installing private key agents
The private key agent is distributed as a Windows Installer package, Linux self-extracting installer, and Linux native packages.
Installation package | Description |
---|---|
Windows Installer |
The Windows Installer package is a self-contained executable that has no external dependencies. The installer performs an integrity check before extracting. |
Linux self-extracting installer |
The Linux self-extracting installer is a self-contained executable that has no external dependencies. The installer performs an integrity check before extracting. |
Linux native packages (DEB/RPM) |
The Linux native packages use Linux package managers such as APT/YUM to pull the packages from Sectigo during installation. The DEB metadata and RPM package are digitally signed by Sectigo using GPG. |
Installation requirements
To install a private key agent, the following requirements must be satisfied:
To install a private key agent on Windows, the following requirements must be satisfied:
-
Local administrator rights
-
Windows OS
-
Windows 2008 or later
-
-
Hardware:
-
CPU — 1.4GHz 64-bit (minimum)
-
RAM — 2 GB (minimum)
-
-
Internet access:
-
Outbound network access to
https://dist.sectigo.com
on TCP port443
-
Outbound network access to the appropriate SCM instance on TCP port
443
:-
https://cert-manager.com
-
https://hard.cert-manager.com
-
https://eu.cert-manager.com
-
-
Inbound TCP port
9091
-
-
Key storage:
-
Local storage: No additional requirements
-
Azure Key Vault:
-
An Azure account with an active subscription
-
A registered application representing the private key agent with the following permissions:
-
Key permissions:
Sign
,Get
,List
,Import
,Delete
-
Secret permissions:
Get
,Set
,Delete
,List
For more information, see Quickstart: Register an application with the Microsoft identity platform.
-
-
-
HashiCorp Vault:
-
An active HashiCorp Vault instance
-
Transit secrets engine enabled
For more information, see Transit secrets engine. -
Access token or AppRole
RoleId
andSecretId
with permission on the transit secrets API
-
-
To install a private key agent on Linux, the following requirements must be satisfied:
-
sudo permissions
-
Linux OS:
-
CentOS 7.x, Stream 8, Stream 9
-
RHEL 7.x, 8.x, 9.x
-
Debian 10, 11
-
Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04
-
-
Hardware:
-
CPU — 1.4GHz 64-bit (minimum)
-
RAM — 2 GB (minimum)
-
-
Internet access:
-
Outbound network access to
https://dist.sectigo.com
on TCP port443
-
Outbound network access to the appropriate SCM instance on TCP port
443
:-
https://cert-manager.com
-
https://hard.cert-manager.com
-
https://eu.cert-manager.com
-
-
Inbound TCP port
9091
-
-
Key storage:
-
Local storage: No additional requirements
-
Azure Key Vault:
-
An Azure account with an active subscription
-
A registered application representing the private key agent with the following permissions:
-
Key permissions:
Sign
,Get
,List
,Import
,Delete
-
Secret permissions:
Get
,Set
,Delete
,List
For more information, see Quickstart: Register an application with the Microsoft identity platform.
-
-
-
HashiCorp Vault:
-
An active HashiCorp Vault instance
-
Transit secrets engine enabled
For more information, see Transit secrets engine. -
Access token or AppRole
RoleId
andSecretId
with permission on the transit secrets API
-
-
Add a private key agent to SCM
-
Navigate to
and click the Add icon.SCM currently only supports one private key agent at a time. Adding a new private key agent will remove any existing one from SCM. The agent should now be listed on the Private Key Agent page with a status of Pending.
-
Copy the installation token for use during installation.
-
Download the agent with the Windows or Linux Self-Extracting installation package link.
Linux native installation packages (DEB/RPM) are downloaded through the CLI as part of the installation process.
Install a private key agent
The Windows installer has limited configuration options. Additional configuration options are available when installing the private key agent through the Windows CLI. |
-
Run the executable.
-
Read the EULA, select I agree to the license terms and conditions, and click Install.
-
Click Next.
-
Read the EULA, select I accept the terms in the License Agreement, and click Next.
-
(Optional) Specify an installation location.
-
Click Next, and paste the agent installation token.
If needed, you can retrieve the installation token from the page. This token is no longer available once the agent connects to SCM for the first time. -
Click Next.
-
(Optional) Select Use Proxy and enter your proxy details based on the information provided in the following table.
Field Description Proxy URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
Proxy User
The username for accessing the proxy server if configured to use credentials.
Proxy Password
The password for accessing the proxy server if configured to use credentials.
-
-
Click Next.
-
Select and configure key storage based on the information provided in the following table.
Provider Steps Local
-
Select Local.
-
Click Next.
Azure Key Vault
-
Select Azure Key Vault.
-
Click Next.
-
Provide the following:
-
Azure Vault Name — The unique name used for your Azure Key Vault.
-
Azure Tenant ID — The unique 32-character GUID that represents your organization in Azure AD.
-
Azure Client ID — The unique 32-character GUID that represents your application in Azure AD.
-
Azure Client Secret — The secure key or password associated with your application’s Client ID.
-
-
Click Next.
HashiCorp Vault
-
Select HashiCorp Vault.
-
Click Next.
-
Provide the following:
-
Vault URL — The address where your HashiCorp Vault server is running.
-
Transit API path — The specific endpoint within Vault where you can interact with the Transit secret engine.
-
Vault Access Token — The authentication token used for accessing HashiCorp Vault.
-
-
Click Next.
-
-
Click Next, Next, Install, Finish, and then Close.
The agent should now be listed on the Private Key Agent page with a status of Connected.
For Windows, the private key agent logs are stored in %PROGRAMDATA%\Sectigo\PK Agent\logs and the configuration files are stored in %PROGRAMDATA%\Sectigo\PK Agent\conf .
|
-
Open the Windows command prompt.
-
In the command line, navigate to the download location of the executable.
-
Modify the installation command as needed.
.\Sectigo_Pk_Agent.exe /i /q PROPERTY_TOKEN= PROPERTY_USE_PROXY= PROPERTY_PROXY_HOST= PROPERTY_PROXY_PORT= PROPERTY_PROXY_USER= PROPERTY_PROXY_PASSWORD=
Options without an included value are ignored.
The command options are outlined in the following table.
Option Description /i
Initiates installation of the agent through the executable.
/q
Runs the installation in silent mode so no interaction is required.
PROPERTY_TOKEN
The mandatory installation token.
PROPERTY_USE_PROXY
Indicates whether you are using a proxy server.
-
1
(Yes) -
Empty (No)
PROPERTY_PROXY_URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
PROPERTY_PROXY_USER
The username for accessing the proxy server if configured to use credentials.
PROPERTY_PROXY_PASSWORD
The password for accessing the proxy server if configured to use credentials.
If needed, you can retrieve the installation token from the page. This token is no longer available once the agent connects to SCM for the first time. -
-
Run the modified installation command.
-
Configure key storage.
-
Run the private key agent configuration utility.
pkagent.exe config interactive
-
Skip providing the installation token.
-
Skip changing proxy settings.
-
Enter
y
to update key storage provider. -
Specify which key storage provider you want to use.
-
Complete the key storage configuration based on the information provided in the following table.
Parameter Description Azure Key Vault
Azure Vault Name
The unique name used for your Azure Key Vault.
Azure Tenant ID
The unique 32-character GUID that represents your organization in Azure AD.
Azure Client ID
The unique 32-character GUID that represents your application in Azure AD.
Azure Client Secret
The secure key or password associated with your application’s Client ID.
Local Storage
Path on disk to store keys
The location where you want to store the encrypted file.
Password to encrypt the keys on disk
A password to secure the encrypted file.
HashiCorp Vault
Vault URL
The address where your HashiCorp Vault server is running.
Transit API path
The specific endpoint within Vault where you can interact with the Transit secret engine.
Vault Access Token
The authentication token used for accessing HashiCorp Vault.
AppRole ID
The authentication ID used for accessing HashiCorp Vault.
AppRole Secret
The secure key or password associated with your AppRole ID.
-
-
Choose the download file name convention.
The command options are outlined in the following table.
Option Description cert_{ID}.ext
The file will be saved with the ID of the certificate.
\{common name}.ext
The file will be saved with the common name of the certificate.
{subject}.ext
The file will be saved with the subject of the certificate.
The agent should now be listed on the Private Key Agent page with a status of Connected.
For Windows, the private key agent logs are stored in %PROGRAMDATA%\Sectigo\PK Agent\logs and the configuration files are stored in %PROGRAMDATA%\Sectigo\PK Agent\conf .
|
-
Give execute permission to the installer binary.
chmod +x sectigo-pk-agent.bin
-
Run the installer.
sudo ./sectigo-pk-agent.bin
-
Accept the EULA.
-
When prompted, paste the agent installation token.
If needed, you can retrieve the installation token from the page. This token is no longer available once the agent connects to SCM for the first time. -
Configure proxy settings.
-
Specify whether you want to use proxy settings.
-
Complete proxy configuration based on the information provided in the following table.
Parameter Description Please enter proxy URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
Please enter username to authenticate to proxy
The username for accessing the proxy server if configured to use credentials.
Please enter password to authenticate to proxy
The password for accessing the proxy server if configured to use credentials.
-
-
-
Configure key storage.
-
Specify which key storage provider you want to use.
-
Complete the key storage configuration based on the information provided in the following table.
Parameter Description Azure Key Vault
Azure Vault Name
The unique name used for your Azure Key Vault.
Azure Tenant ID
The unique 32-character GUID that represents your organization in Azure AD.
Azure Client ID
The unique 32-character GUID that represents your application in Azure AD.
Azure Client Secret
The secure key or password associated with your application’s Client ID.
Local Storage
Path on disk to store keys
The location where you want to store the encrypted file.
Password to encrypt the keys on disk
A password to secure the encrypted file.
HashiCorp Vault
Vault URL
The address where your HashiCorp Vault server is running.
Transit API path
The specific endpoint within Vault where you can interact with the Transit secret engine.
Vault Access Token
The authentication token used for accessing HashiCorp Vault.
AppRole ID
The authentication AppRole ID used for accessing HashiCorp Vault.
AppRole Secret
The secure key or password associated with your AppRole ID.
-
-
Choose the download file name convention.
The command options are outlined in the following table.
Option Description cert_{ID}.ext
The file will be saved with the ID of the certificate.
\{common name}.ext
The file will be saved with the common name of the certificate.
{subject}.ext
The file will be saved with the subject of the certificate.
The agent should now be listed on the Private Key Agent page with a status of Connected.
For Linux, the private key agent logs are stored in /var/opt/sectigo-pk-agent/logs and the configuration files are stored in /var/opt/sectigo-pk-agent/conf .
|
-
Add the GPG key to your system.
curl -fsSL https://dist.sectigo.com/scm/linux/apt-sign.gpg | sudo gpg --dearmor -o /usr/share/keyrings/sectigo-archive-keyring.gpg
-
Verify the GPG key.
gpg --show-keys /usr/share/keyrings/sectigo-archive-keyring.gpg
The GPG key fingerprint should match the following:
FCB9 DC04 DE50 2CBA 0F39 BFAF BFB4 716B 93A8 397B
-
Add the repository.
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/sectigo-archive-keyring.gpg] https://dist.sectigo.com/apt-$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/sectigo.list > /dev/null
-
Update the local package index.
sudo apt-get update
-
Install the private key agent.
sudo apt-get install sectigo-pk-agent
-
Configure the private key agent.
sudo /opt/sectigo-pk-agent/bin/pkagent config interactive
-
When prompted, paste the agent installation token.
If needed, you can retrieve the installation token from the page. This token is no longer available once the agent connects to SCM for the first time. -
Configure proxy settings.
-
Specify whether you want to use proxy settings.
-
Complete proxy configuration based on the information provided in the following table.
Parameter Description Please enter proxy URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
Please enter username to authenticate to proxy
The username for accessing the proxy server if configured to use credentials.
Please enter password to authenticate to proxy
The password for accessing the proxy server if configured to use credentials.
-
-
-
Configure key storage.
-
Specify which key storage provider you want to use.
-
Complete the key storage configuration based on the information provided in the following table.
Parameter Description Azure Key Vault
Azure Vault Name
The unique name used for your Azure Key Vault.
Azure Tenant ID
The unique 32-character GUID that represents your organization in Azure AD.
Azure Client ID
The unique 32-character GUID that represents your application in Azure AD.
Azure Client Secret
The secure key or password associated with your application’s Client ID.
Local Storage
Path on disk to store keys
The location where you want to store the encrypted file.
Password to encrypt the keys on disk
A password to secure the encrypted file.
HashiCorp Vault
Vault URL
The address where your HashiCorp Vault server is running.
Transit API path
The specific endpoint within Vault where you can interact with the Transit secret engine.
Vault Access Token
The authentication token used for accessing HashiCorp Vault.
AppRole ID
The authentication ID used for accessing HashiCorp Vault.
AppRole Secret
The secure key or password associated with your AppRole ID.
-
-
Choose the download file name convention.
The command options are outlined in the following table.
Option Description cert_{ID}.ext
The file will be saved with the ID of the certificate.
\{common name}.ext
The file will be saved with the common name of the certificate.
{subject}.ext
The file will be saved with the subject of the certificate.
-
Start the private key agent service.
-
SysVinit
Linux:sudo service sectigo-pk-agent start
-
systemd
Linux:sudo systemctl start sectigo-pk-agent
-
The agent should now be listed on the Private Key Agent page with a status of Connected.
For Linux, the private key agent logs are stored in /var/opt/sectigo-pk-agent/logs and the configuration files are stored in /var/opt/sectigo-pk-agent/conf .
|
-
Add the repository.
sudo yum-config-manager --add-repo https://dist.sectigo.com/scm/linux/sectigo-pk-agent.repo
-
Install the private key agent.
sudo yum install sectigo-pk-agent
When prompted to accept the GPG key, confirm the fingerprint matches the following:
0541 9789 e34e be6e e3d3 6096 5097 8649 30a7 d659
-
Configure the private key agent.
sudo /opt/sectigo-pk-agent/bin/pkagent config interactive
-
When prompted, paste the agent installation token.
-
Configure proxy settings.
-
Specify whether you want to use proxy settings.
-
Complete proxy configuration based on the information provided in the following table.
Parameter Description Please enter proxy URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
Please enter username to authenticate to proxy
The username for accessing the proxy server if configured to use credentials.
Please enter password to authenticate to proxy
The password for accessing the proxy server if configured to use credentials.
-
-
-
Configure key storage.
-
Specify which key storage provider you want to use.
-
Complete the key storage configuration based on the information provided in the following table.
Parameter Description Azure Key Vault
Azure Vault Name
The unique name used for your Azure Key Vault.
Azure Tenant ID
The unique 32-character GUID that represents your organization in Azure AD.
Azure Client ID
The unique 32-character GUID that represents your application in Azure AD.
Azure Client Secret
The secure key or password associated with your application’s Client ID.
Local Storage
Path on disk to store keys
The location where you want to store the encrypted file.
Password to encrypt the keys on disk
A password to secure the encrypted file.
HashiCorp Vault
Vault URL
The address where your HashiCorp Vault server is running.
Transit API path
The specific endpoint within Vault where you can interact with the Transit secret engine.
Vault Access Token
The authentication token used for accessing HashiCorp Vault.
AppRole ID
The authentication ID used for accessing HashiCorp Vault.
AppRole Secret
The secure key or password associated with your AppRole ID.
-
-
Choose the download file name convention.
The command options are outlined in the following table.
Option Description cert_{ID}.ext
The file will be saved with the ID of the certificate.
\{common name}.ext
The file will be saved with the common name of the certificate.
{subject}.ext
The file will be saved with the subject of the certificate.
-
Start the private key agent service.
-
SysVinit
Linux:sudo service sectigo-pk-agent start
-
systemd
Linux:sudo systemctl start sectigo-pk-agent
-
The agent should now be listed on the Private Key Agent page with a status of Connected.
For Linux, the private key agent logs are stored in /var/opt/sectigo-pk-agent/logs and the configuration files are stored in /var/opt/sectigo-pk-agent/conf .
|
Updating private key agents
Update to a new agent version
Because of incompatibility between private key agent version 2.0 and earlier versions, updating from earlier versions requires a new installation. In order to ensure a seamless transition to the new agent, it is suggested that you do the following:
-
In SCM, navigate to the Private Key Agent page and verify that the agent is connected and showing the correct version.
Update proxy server details
To update the proxy server information for your existing private key agent, do the following:
-
In a terminal, navigate to the private key agent install location.
-
Run the private key agent configuration utility.
pkagent.exe config interactive
-
Skip providing the installation token.
-
Configure proxy settings.
-
Specify whether you want to use proxy settings.
-
Complete proxy configuration based on the information provided in the following table.
Parameter Description Please enter proxy URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
Please enter username to authenticate to proxy
The username for accessing the proxy server if configured to use credentials.
Please enter password to authenticate to proxy
The password for accessing the proxy server if configured to use credentials.
-
-
-
Skip changing the key storage provider.
-
Restart the private key agent.
sc stop SectigoPkAgent
sc start SectigoPkAgent
To update the proxy server information for your existing private key agent, do the following:
-
In a terminal, navigate to the private key agent install location.
-
Run the private key agent configuration utility.
sudo pkagent config interactive
-
Skip providing the installation token.
-
Configure proxy settings.
-
Specify whether you want to use proxy settings.
-
Complete proxy configuration based on the information provided in the following table.
Parameter Description Please enter proxy URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
Please enter username to authenticate to proxy
The username for accessing the proxy server if configured to use credentials.
Please enter password to authenticate to proxy
The password for accessing the proxy server if configured to use credentials.
-
-
-
Skip changing the key storage provider.
-
Restart the private key agent service.
-
SysVinit
Linux:sudo service sectigo-pk-agent restart
-
systemd
Linux:sudo systemctl restart sectigo-pk-agent
-
To update the proxy server information for your existing private key agent, do the following:
-
In a terminal, navigate to the private key agent install location.
-
Run the private key agent configuration utility.
sudo pkagent config interactive
-
Skip providing the installation token.
-
Configure proxy settings.
-
Specify whether you want to use proxy settings.
-
Complete proxy configuration based on the information provided in the following table.
Parameter Description Please enter proxy URL
The hostname or IP address and port number used by your proxy server.
-
Host only —
host
-
Host and port —
host:port
Please enter username to authenticate to proxy
The username for accessing the proxy server if configured to use credentials.
Please enter password to authenticate to proxy
The password for accessing the proxy server if configured to use credentials.
-
-
-
Skip providing the installation token.
-
Restart the private key agent service.
-
SysVinit
Linux:sudo service sectigo-pk-agent restart
-
systemd
Linux:sudo systemctl restart sectigo-pk-agent
-
Configure a local SSL certificate replacement
The private key agent hosts the SSL endpoint to download private key files using a fixed certificate included in the installer. Alternatively, you can configure the private key agent to utilize your own SSL certificate to secure the certificate download site. As long as the certificate remains valid, this will prevent any SSL warnings when downloading private keys.
-
In a terminal, navigate to the private key agent install location.
-
Update the private key agent configuration.
pkagent.exe config --cert_path <pathToCertificate> --cert_file_password <certificatePassword>
The command options are outlined in the following table.
Option Description cert_path
The path to the
.p12
,.jks
, or.pem
(CERTIFICATE
block, andPRIVATE KEY
orENCRYPTED PRIVATE KEY
) certificate to be used in securing private key agent certificate downloads.cert_file_password
The password for the certificate.
-
Restart the private key agent.
sc stop SectigoPkAgent
sc start SectigoPkAgent
-
In a terminal, navigate to the private key agent install location.
-
Update the private key agent configuration.
sudo pkagent config --cert_path <pathToCertificate> --cert_file_password <certificatePassword>
The command options are outlined in the following table.
Option Description cert_path
The path to the
.p12
,.jks
, or.pem
(CERTIFICATE
block, andPRIVATE KEY
orENCRYPTED PRIVATE KEY
) certificate to be used in securing private key agent certificate downloads.cert_file_password
The password for the certificate.
-
Restart the private key agent service.
-
SysVinit
Linux:sudo service sectigo-pk-agent restart
-
systemd
Linux:sudo systemctl restart sectigo-pk-agent
-
Update certificate download naming convention
You can update the agent’s file naming convention for certificate downloads.
-
In a terminal, navigate to the private key agent install location.
-
Update the agent’s file naming convention for certificate downloads.
pkagent config --download_file_name <formatValue>
The command format values are outlined in the following table.
Value Description cert_{ID}.ext
The file will be saved with the ID of the certificate.
\{common name}.ext
The file will be saved with the common name of the certificate.
{subject}.ext
The file will be saved with the subject of the certificate.
-
Restart the private key agent.
sc stop SectigoPkAgent
sc start SectigoPkAgent
-
In a terminal, navigate to the private key agent install location.
-
Update the agent’s file naming convention for certificate downloads.
pkagent config --download_file_name <formatValue>
The command format values are outlined in the following table.
Value Description cert_{ID}.ext
The file will be saved with the ID of the certificate.
\{common name}.ext
The file will be saved with the common name of the certificate.
{subject}.ext
The file will be saved with the subject of the certificate.
-
Restart the private key agent service.
-
SysVinit
Linux:sudo service sectigo-pk-agent restart
-
systemd
Linux:sudo systemctl restart sectigo-pk-agent
-
Uninstall a private key agent
-
Navigate to
. -
Search for Sectigo Private Key Agent.
-
Select the Sectigo Private Key Agent and click Uninstall.
-
Click Uninstall.
-
Click Uninstall.
-
Click Close.
-
(Optional) Delete the files and logs associated with the private key agent.
-
Navigate to
C:\ProgramData\Sectigo
. -
Delete the
PK Agent
folder.This cannot be undone. When using Local key storage, you must back up or export your keys before deleting this file to prevent losing your private keys. Only delete this folder if you want to completely remove all files and logs related to the agent.
-
-
Stop the private key agent service.
sudo service sectigo-pk-agent stop
-
Navigate to the
/etc/init.d
directory. -
Delete the
sectigo-pk-agent
directory. -
Delete the private key agent installation files.
-
Navigate to the
/opt
directory. -
Delete the
sectigo-pk-agent
directory.
-
-
(Optional) Delete the files and logs associated with the private key agent.
-
Navigate to the
/var/opt
directory. -
Delete the
sectigo-pk-agent
directory.This cannot be undone. When using Local key storage, you must back up or export your keys before deleting this directory to prevent losing your private keys. Only delete this directory if you want to completely remove all files and logs related to the agent.
-
-
Remove the private key agent.
sudo apt remove sectigo-pk-agent
-
(Optional) Delete the files and logs associated with the private key agent.
-
Navigate to the
/var/opt
directory. -
Delete the
sectigo-pk-agent
directory.This cannot be undone. When using Local key storage, you must back up or export your keys before deleting this directory to prevent losing your private keys. Only delete this directory if you want to completely remove all files and logs related to the agent.
-
-
Remove the private key agent.
sudo yum remove sectigo-pk-agent
-
(Optional) Delete the files and logs associated with the private key agent.
-
Navigate to the
/var/opt
directory. -
Delete the
sectigo-pk-agent
directory.This cannot be undone. When using Local key storage, you must back up or export your keys before deleting this directory to prevent losing your private keys. Only delete this directory if you want to completely remove all files and logs related to the agent.
-
Private key agent service commands
Command | Description |
---|---|
Start |
Start a private key agent:
|
Stop |
Stop a private key agent:
|
Query |
Query the status of a private key agent:
|
Command | Description |
---|---|
Start |
Start a private key agent:
|
Stop |
Stop a private key agent:
|
Restart |
Restart a private agent:
|
Status |
Query the status of a private key agent:
|
Command | Description |
---|---|
Start |
Start a private key agent:
|
Stop |
Stop a private key agent:
|
Restart |
Restart a private key agent:
|
Status |
Query the status of a private key agent:
|