Site icon SSL.com

Integrating eSigner with CI/CD Pipelines (A Complete Setup and Configuration Guide)

Scope note: This guide consolidates SSL.com’s existing integration documentation for eSigner CKA (Cloud Key Adapter) and eSigner CodeSignTool. 

  1. eSigner CKA vs. CodeSignTool: Which One Do You Need? 

SSL.com’s eSigner platform has two different client tools for CI/CD signing, and picking the right one up front avoids a lot of wasted setup time. 

 

eSigner CKA 

eSigner CodeSignTool 

What it is 

A Windows CNG Key Storage Provider (KSP) that lets signtool.exe, certutil.exe, and similar Windows tools talk to eSigner as if the certificate were installed locally 

A Java command-line utility that signs files directly via the eSigner CSC API 

Runner OS 

Windows only 

Linux, Windows, or macOS  

File types 

.dll, .exe, .msi, .vsix, and anything signtool.exe can sign 

.exe, .dll, .msi, .jar, and other Authenticode/Java-signable objects 

Best fit 

Windows-native pipelines that already call signtool.exe 

Cross-platform pipelines, high-volume/batch signing 

CI/CD platforms with eSigner CKA guides: GitHub Actions, Azure Pipelines, GitLab CI, Travis CI (all four for .vsix signing), and CircleCI, GitHub Actions, GitLab CI, Travis CI (for .NET DLL signing via signtool.exe). 

CI/CD platforms with eSigner CodeSignTool guides: CircleCI, GitHub Actions, GitLab CI, Travis CI, Jenkins, Azure DevOps, and Bitbucket. 

If your pipeline runs on Linux or macOS runners, or you want one config style that works the same way across every CI/CD tool, use CodeSignTool. If you’re already deep into a Windows-based signtool.exe workflow, CKA will feel more native. 

  1. Pre-Integration Checklist (Do This Before Touching CI/CD Config) 

Almost every “signing failed” support ticket traces back to one of these steps being skipped or done out of order. Work through this list top to bottom. 

2.1 SSL.com Account and Certificate 

2.2 eSigner Credential and OTP Setup 

2.3 CI/CD Platform Prerequisites 

2.4 Optional: Windows-Specific Prep (eSigner CKA Only) 

Once all of the above is done, pick the tool and platform combination that matches your setup below. 

 

 
  1. eSigner CKA: CI/CD Integration 

3.1 Common Setup Steps (All Platforms) 

Every eSigner CKA workflow, regardless of platform, performs the same five actions: 

  1. eSigner CodeSignTool: CI/CD Integration 

4.1 Common Setup Steps (All Platforms) 

CodeSignTool workflows follow the same two-stage patterns everywhere: a build stage produces the artifact, and a sign stage pulls SSL.com’s codesigner Docker image and signs it. The Docker approach means the same core command works nearly unchanged across CircleCI, GitHub Actions, GitLab CI, Travis CI, Jenkins, Azure DevOps, and BitBucket — only the surrounding pipeline syntax differs. 

Required environment variables/secrets: 

Variable 

Purpose 

USERNAME 

SSL.com account username 

PASSWORD 

SSL.com account password 

CREDENTIAL_ID 

Credential ID of the signing certificate. Optional only if your account has exactly one eSigner code signing certificate 

TOTP_SECRET 

OAuth TOTP secret from your eSigner Authenticator setup 

ENVIRONMENT_NAME 

TEST (sandbox) or PROD (live signing) 

Required inputs: 

Input 

Purpose 

input_file_path 

Path of the file to be signed 

output_dir_path 

Directory the signed file will be written to (omit to overwrite the input file in place) 

  1. Sample Workflows 

Example workflows are provided in the following SSL.com guides: 

eSigner CKA: 

eSigner CodeSignTool, per platform: 

  1. Troubleshooting Common Errors 

Symptom 

Likely Cause 

Fix 

Credential ID is required / signing fails with no cert selected 

Account has more than one eSigner code signing certificate 

Run get_credential_ids and set CREDENTIAL_ID explicitly 

Signing hangs or times out on TOTP 

Wrong or expired TOTP_SECRET, or the eSigner Authenticator wasn’t set up 

Re-run the Automate eSigner EV Code Signing setup and regenerate the secret 

signtool.exe not found / wrong architecture error (CKA only) 

Runner image’s Windows SDK path or bit-width doesn’t match the hard-coded path in the sample 

Locate the actual SDK folder on the image (Windows Kits\10\bin\<version>\<x86 or x64>\signtool.exe) and update the path 

eSignerCKA install succeeds but no certificate appears in the store 

unload/load step skipped, or ran before config finished 

Ensure config – unload – load run in that exact order, in the same job/step context 

Sign stage can’t find the artifact from the build stage 

Artifact path mismatch, or artifact not persisted/uploaded between stages 

Confirm the exact path used in the build stage’s artifact upload matches the path the sign stage downloads to 

Signed file works in TEST but customers still see “unknown publisher” 

Still pointed at sandbox 

Set ENVIRONMENT_NAME/MODE to PROD once testing is complete, and confirm the certificate itself has completed validation 

 

If none of the above resolves an issue, SSL.com support can assist with custom or high-volume signing setups. 

Exit mobile version