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

Getting Started

This walkthrough takes a new CodeSign Secure installation from the first sign-in to a verified, audited signature. It uses the Windows KSP with SignTool, the most common path. Each step links to the page with full details.

Note: This walkthrough signs a Windows executable with the Encryption Consulting KSP and SignTool. For other file types and signing tools, see Supported Formats and Platforms and Signing Capabilities.

Before you begin
  • A CodeSign Secure server is installed and reachable over HTTPS. See Installing the server.

  • You can sign in as a user with the System Admin role.

  • A Windows 10 or Windows 11 build machine with the Windows SDK installed, so that signtool.exe is available.

  • A file to sign, for example setup.exe.

Step 1: Sign in and check the HSM

Open https://<your domain>/ and sign in with your email and password, or with Azure AD if an identity store is configured. On the Dashboard, scroll to HSM Health Check and confirm the status is Active. If it is inactive, fix the HSM connection before continuing (see Troubleshooting).

Step 2: Create environments

An environment decides whether a signing request needs approval. Go to System Setup > Environment > Create Environment and create at least two environments:

EnvironmentPolicy TypeNeeds MFAUse it for
DevNo ApprovalOffTest signing and automated pipelines
ProductionQuorumOnRelease builds that customers install

For more patterns, see Designing signing policies.

Step 3: Register users and grant permissions
  1. Go to System Setup > User > Register User. Enter the email, first name, last name and password, and select one or more roles.

  2. Go to System Setup > Roles and Permissions. Every role except System Admin starts with no permissions. Right-click the role, select Edit Permissions and switch on what that role needs, for example CodeSigning Operation and Sign tools for developers.

  3. Make sure the people who approve production requests hold the System Admin or Project Manager role. Only those roles can be approvers.

See Roles and Permissions for the full permission list and a recommended role design.

Step 4: Create a signing certificate

Go to Keys and Certificates > Add New Certificate. The private key is always generated inside the HSM.

  • For a first test: choose Self Signed Certificate, select the Dev environment and a key algorithm such as RSA 3072.

  • For production: choose Certificate Signing Request, submit the CSR to your certificate authority, then use Import Certificate to upload the issued certificate and select the Production environment. Make sure the imported certificate file name is the same as the certificate name you gave during the CSR generation.

Field details, supported algorithms and renewal are covered in Key and Certificate Lifecycle.

Step 5: Create an application and map the certificate to a team
  1. Go to App Management > Add New Application and fill in Application Name, Business Unit, Artifact Types and Application Description. You become the application owner. Select Save & Proceed.

  2. In Team Detail, select Create Team, name the team, and add the users who will sign.

  3. Select Add Mapping, choose the certificate and the team, then select Finish.

Note: A certificate appears in the mapping list only when it has an environment. If it is missing, right-click it in Keys and Certificates and select Edit Environment.

Step 6: Create client credentials

Build machines authenticate with an authentication certificate. Go to System Setup > User > Generate Authentication Certificate, select the user, enter a Certificate Name and a Valid Till date, then download the certificate file and keep its password. See Client Authentication for how these credentials work together.

Step 7: Install and configure the Windows KSP
  1. Go to Signing Tools, filter by Windows and download the Encryption Consulting KSP.

  2. Run the installer. When asked for API User Authentication Info, enter the Username, the Code (the CodeSign Secure activation code set during setup; your CodeSign Secure administrator can provide it), Identity Type 1 and the API Base URL https://<your domain>/api/.

  3. In Registry Editor, open Computer\HKEY_CURRENT_USER\Software\Encryption Consulting\SigningKSP and set ectoken to the token generated in CodeSign Secure. The installer settings (Username, Code, Identity Type, and API Base URL) are stored in the same key, so you can change them there later.

  4. Set the environment variables that point the KSP to your authentication certificate, then open a new command prompt:

    setx EC_Client_Auth "C:\EC\AuthCert.pfx"
    setx EC_Client_Pass "<certificate password>"

The complete procedure, including the registry value and Windows SDK, is in Windows Signing - SignTool.

Step 8: Sign a file

In Keys and Certificates, right-click your certificate and select Download Certificate. Then run SignTool:

signtool sign /csp "Encryption Consulting Key Storage Provider" /kc <key name> /fd SHA256 /f <certificate file> /tr http://timestamp.digicert.com /td SHA256 <file to sign>
OptionValue
/cspAlways "Encryption Consulting Key Storage Provider", typed exactly as shown
/kcThe key name of the certificate’s private key, for example evcodesigning
/fThe certificate file you downloaded in this step
/tr and /tdRFC 3161 timestamp server and digest. See Timestamping.
Step 9: Approve the request, if required

If the certificate’s environment uses Certificate Owner or Quorum, the request appears on the Signing Request page. An approver must select Approve within 100 seconds, after entering the emailed MFA code if the environment requires MFA. See Approval Workflows.

Step 10: Verify the signature
signtool verify /pa /v setup.exe

The output shows the signing certificate and, if you timestamped, the timestamp. A self-signed certificate is not trusted by Windows, so verification reports an untrusted root unless the certificate chain is installed on the machine. This is expected for test certificates.

Step 11: Review the audit trail

Go to Reports > Audit Trail and filter on the Crypto Operations category to see who signed, with which certificate and when. The Signing Request Report shows the request and its approval outcome.

Next steps
  • Automate signing in a pipeline: CI/CD Integration and Securing CI/CD credentials.

  • Sign other formats: Supported formats and platforms.

  • Lock down the deployment: Security hardening checklist.

On this Page:
Support Privacy Policy Terms of Service

Copyright Encryption Consulting LLC. All rights reserved.