Skip to main content

Deploy the OpenLM ACC signing certificate

ServiceNow Agent Client Collector (ACC) agents run a plugin only after they verify its signature. ACC turns this check (verify-plugin-signature) on by default on Windows, macOS, and Linux. To let your agents run the checks of the OpenLM ACC Plugin, deploy the OpenLM signing certificate once: put it on each MID (Management, Instrumentation, and Discovery) Server, and trust it on each agent host. The same certificate signs the OpenLM checks for all 3 operating systems.

Deploy the certificate before you enroll machines in OpenLM monitoring. The agent checks the signature when it first downloads the OpenLM checks.

Before you begin​

You need the following:

  • The certificate files from OpenLM: sign.zip and sign.crt, plus trust-acc-signing-cert.sh for macOS and Linux hosts.
  • File access to each MID Server that your ACC agents connect through.
  • Administrator rights on each agent host: local Administrator on Windows, and root (sudo) on macOS and Linux.
  • The ServiceNow role agent_client_collector_admin, to start the certificate sync.
  • openssl on macOS and Linux hosts. The trust-acc-signing-cert.sh script uses it. macOS includes it.

Check the certificate​

Before you trust the certificate on any host, confirm that its details match these values:

Certificate detailValue
SubjectCN=sign, OU=ACC, O=OpenLM (self-signed)
SHA-1 fingerprintB7:63:37:0D:A2:8F:23:1C:C0:ED:17:EF:1B:3F:D8:CE:F1:7E:2E:82
SHA-256 fingerprint64:0B:44:91:8D:C9:26:70:36:9B:04:40:E1:FC:FA:27:57:F0:7D:1E:CA:16:B2:49:92:D8:23:C7:01:62:BC:1F
Valid untilAugust 18, 2027

To read the SHA-1 fingerprint of the file you received, run one of these commands in the folder that contains sign.crt:

(Get-PfxCertificate -FilePath .\sign.crt).Thumbprint

The output has no colons: B763370DA28F231CC0ED17EF1B3FD8CEF17E2E82.

If the fingerprint doesn't match, don't trust the file. Ask OpenLM for a new copy.

Place the certificate on each MID Server​

Your agents get the certificate from the MID Server they connect through. On every such MID Server:

  1. Find the MID Server installation directory.

    On Windows, open Services, open the MID Server service, and read Path to executable. On Linux, it's the directory where you installed the MID Server.

  2. Copy sign.zip into the agent\static\cert\ folder of that directory (agent/static/cert/ on a Linux MID Server).

    Keep the file as a .zip. The MID Server ignores an unzipped certificate. You can put it in a subfolder of cert if you prefer.

  3. In ServiceNow, open the MID Server record, and under Related Links, select Trigger ACC certificate sync.

    The sync sends the certificate to the agents now. Without it, the agents receive the certificate within about 24 hours.

Trust the certificate on each agent host​

Each agent host must also trust the certificate in the trust store of its operating system: Trusted Root on Windows, the CA trust store on Linux, and the System keychain on macOS.

  1. Open PowerShell as an administrator.

  2. Import the certificate into the Trusted Root store:

    Import-Certificate -FilePath "<path-to>\sign.crt" -CertStoreLocation Cert:\LocalMachine\Root
  3. Confirm that the certificate is in the store:

    Get-ChildItem Cert:\LocalMachine\Root | Where-Object { $_.Subject -like "*CN=sign*" }
Many Windows hosts

Deploy sign.crt to the Trusted Root store of every agent machine centrally, for example with Group Policy or Intune, instead of one host at a time.

Verify​

To confirm that your agents trust the OpenLM checks:

  1. Wait about a minute for the agents to get the certificate, or restart the ACC agent on a host:

    Operating systemRestart command
    WindowsRestart-Service AgentNow
    Linuxsudo systemctl restart acc
    macOSsudo launchctl kickstart -k system/com.sn.acc
  2. Enroll at least one machine in OpenLM monitoring. See Choose which machines to monitor.

  3. On that machine, open the ACC log:

    Operating systemACC log
    WindowsC:\ProgramData\ServiceNow\agent-client-collector\log\acc.log
    Linux/var/log/servicenow/agent-client-collector/acc.log
    macOS/Library/Application Support/servicenow/agent-client-collector/log/acc.log
  4. Confirm that the OpenLM checks run. Look for Running check, name: policy: Dynamic_process_monitor_policy on Windows, or policy: Dynamic_process_monitor_policy_mac_linux on macOS and Linux.

  5. Confirm that the log has no couldn't verify asset errors, and that the machine shows Healthy in the plugin's Monitored Devices.

note

Depending on its version, the agent either also logs Successfully verified plugin with signature and public key or logs only failures. A missing success line isn't an error.

Troubleshooting​

Log message or symptomCause and fix
couldn't verify asset or couldn't get signature file full pathThe certificate isn't on the MID Server yet. Repeat Place the certificate on each MID Server, including the certificate sync.
x509: certificate signed by unknown authorityThe host doesn't trust the certificate. Trust the certificate on that host, and then restart the agent.
The MID Server ignores the certificate.The file must be a .zip. Zip sign.crt again, and copy the .zip file to the cert folder.
FINGERPRINT MISMATCH from trust-acc-signing-cert.sh (exit code 2)The file isn't the OpenLM certificate, or it's damaged. Get a new copy from OpenLM. Don't trust the file by hand.
No ACC agent service found or No ACC agent LaunchDaemon (com.sn.acc) foundThe script trusted the certificate but couldn't restart the agent. Restart it yourself with the command in Verify.
Unsupported distribution - no known trust anchor directory foundThe script doesn't know your Linux distribution. Add sign.crt to the system trust store with your distribution's own tool, and then restart the agent.

Remove the certificate​

To stop trusting the OpenLM certificate, for example after you remove the OpenLM ACC Plugin:

  1. Remove the certificate from each agent host.

    On Windows, in PowerShell as an administrator:

    Get-ChildItem Cert:\LocalMachine\Root | Where-Object { $_.Thumbprint -eq "B763370DA28F231CC0ED17EF1B3FD8CEF17E2E82" } | Remove-Item

    On macOS and Linux, as root:

    sudo bash trust-acc-signing-cert.sh --remove --fingerprint B7:63:37:0D:A2:8F:23:1C:C0:ED:17:EF:1B:3F:D8:CE:F1:7E:2E:82
  2. Delete sign.zip from the agent\static\cert\ folder of each MID Server (agent/static/cert/ on a Linux MID Server).

The documentation team might draft this page using a large language model. A technical writer reviews every page and verifies it against the product before publishing it. A human makes the final decision.