CodeSign Secure Documentation
  • Overview
    • About CodeSign Secure
    • Getting Started
    • Documentation Guide
    • Portal Overview
    • Troubleshooting
      • FAQ
    • Glossary
  • Reference Guide
    • Header Bar
      • CodeSign Secure Documentation
      • Swagger API
      • Profile Section
    • Dashboard
      • Key Performance Indicators
      • Issued Certificates
      • Signatures Generated
      • HSM Health Check
    • Keys and Certificates
      • Key and Certificate Lifecycle
    • App Management
    • Signing Requests
      • Approval Workflows
    • Signing Tools
    • Reports
      • Signing Request Report
      • Audit Trail
      • Certificate Report
      • Client Report
    • Logs
    • System Setup
      • Identity Store
      • Backup
      • User
      • Roles and Permissions
      • Email
      • Signing Projects
      • SSL/TLS Management
      • Environment
      • Plugins
  • Setup & Architecture
    • Identity and Access Control
    • Architecture and Concepts
    • Installation
      • Windows
        • Installing the Server
        • Ports and Protocols
        • High Availability and Backup
        • Upgrades and Compatibility
    • Security
      • Security Hardening Checklist
      • Client Authentication
      • Designing Signing Policies
  • Release Notes
    • Releases for 2026
      • v3.2.1
    • Releases for 2025
      • v3.2.0
    • Releases for 2024
      • v3.1.0
  • API Reference
    • Getting Started
    • Authorizing Requests
    • Securing API Access
    • Request and Response Conventions
    • Endpoint Reference
      • Signing
      • Signing Requests
      • Certificates
      • Applications and Environments
      • User Management
      • Permissions
      • Email
      • System Setup
      • Reports
      • Dashboard
      • License
  • Integration Guides
    • Signing Capabilities
      • Supported Formats and Platforms
      • Timestamping
      • Windows Signing - SignTool
        • Signing
        • Macro Signing
      • Apple Signing
      • AppX & MSIX Signing
      • Visual Studio ClickOnce
      • Jar Signing
      • Sign HLK/HCK using CodeSign Secure
      • NuGet Signing
      • Mage Signing
      • Sign OVA/OVF using Encryption Consulting’s Utility Tool
      • Utility Tool for code signing
      • Container Signing
      • PKCS11 Wrapper
        • APK Signing
        • OpenSSL Signing
        • XML Signing
        • JSign Tool Signing
        • Jarsigner Signing
        • GPG2, Debian & RPM Signing
      • Reproducible Build
        • Automated Hash Validation
        • Reproducible Build Process Flow
        • Pipeline Script Components
        • Hash Validation
    • CI/CD Integration
      • GitHub Actions
      • Jenkins
      • GitLab
      • Azure DevOps
      • TeamCity
      • Bamboo
      • Securing CI/CD Credentials

Client Authentication

How build machines and scripts prove who they are to CodeSign Secure, and how to manage those credentials safely.

How clients authenticate

Every signing client uses two credentials together:

  1. An authentication certificate (PFX/P12 file and its password). The client presents it during the TLS handshake. This is mutual TLS.

  2. API user credentials: a username, a code or passcode, and identity type 1. The client exchanges them for a token.

The server then checks the user’s role permissions and team mapping before it signs anything. See How a signing request flows.

Credentials and where they come from
CredentialCreated inUsed by
Authentication certificate (.pfx) and passwordSystem Setup > User > Generate Authentication Certificate: select the user, enter a Certificate Name and a Valid Till dateEvery signing client
Registered usernameThe CodeSign Secure user the client signs asEvery signing client and API script
Code or passcodeThe CodeSign Secure activation code set during setup. The KSP asks for it as Code during installation; the PKCS#11 Wrapper reads it from passcode in its INI file.KSP, PKCS#11 Wrapper and API scripts
TokenCreated automatically with default expiry.For custom expiry, go to System Setup > User > Generate API Key: an API Key Name and an expiry of 30, 60, or 90 daysNon-interactive authentication for client machines and automated signing
Where each client is configured
ClientAuthentication certificateAPI user credentials
Windows KSPEnvironment variables EC_Client_Auth (path to the PFX) and EC_Client_Pass (its password)Entered in the installer: Username, Code, Identity Type 1, API Base URL https://<your domain>/api/(Can be updated from Registry Editor settings, for example, Computer\HKEY_CURRENT_USER\Software\Encryption Consulting\SigningKSP)
PKCS#11 Wrapper[pfxfile_path] and [pfxfile_passwd] in ec_pkcs11client.ini[login_token] username and passcode in the same file
EC KSP for MacSee Apple SigningSee Apple Signing
Utility ToolSee Utility ToolThe server address is set with BASEURL in the tool’s configuration file
Credential lifecycle
StageWhat to do
IssueGenerate one authentication certificate per build machine or pipeline. Download it once and store it in a secret store.
RenewBefore the Valid Till date, generate a new certificate, update EC_Client_Auth and EC_Client_Pass or the INI file, restart build agents so they pick up the change, and test a signing.
RotateChange passcodes and API keys on a schedule and whenever someone who knew them leaves.
Respond to exposureIf a PFX file, password or passcode is exposed, lock the user in System Setup > User until new credentials are issued, then review the Audit Trail for signing you didn’t expect.
Protect credentials on build machines

Allow only the build service account to read credential files.

# Windows (run as Administrator)
icacls C:\EC\AuthCert.pfx /inheritance:r /grant:r "Administrators:F" "<DOMAIN>\<build-service-account>:R"

# Linux and macOS
chmod 600 /opt/ec/AuthCert.pfx /opt/ec/ec_pkcs11client.ini
chown <build-user> /opt/ec/AuthCert.pfx /opt/ec/ec_pkcs11client.ini
  • Keep credential files outside source code folders so they can’t be committed by accident.

  • Use a dedicated API user for automation rather than a person’s account. Signing in again with the same account revokes that account’s earlier portal sessions.

  • In CI/CD, inject credentials at run time from the platform’s secret store. See Securing CI/CD credentials.

On this Page:
Support Privacy Policy Terms of Service

Copyright Encryption Consulting LLC. All rights reserved.