This page provides background on code-signing certificates: what they are, which certificate types Signotaur accepts, the public-key algorithms and key sizes supported, and where certificates can live on the server.
For the administrative interface used to register and manage certificates, see Admin - Certificates.
A code-signing certificate is an X.509 certificate issued for the purpose of digitally signing executable files, installers, scripts, and other software artifacts. A valid signature allows Windows (and other platforms) to verify the publisher of a file and confirm that its contents have not been altered since it was signed. For Windows Authenticode in particular, this drives behaviour such as UAC prompts, SmartScreen reputation, driver loading, and enterprise application allow-listing.
Signotaur accepts code-signing certificates from any issuer, provided the certificate:
1.3.6.1.5.5.7.3.3).The table below lists the public-key algorithms Signotaur recognises in code-signing certificates. Only RSA and ECDSA certificates are supported.
| Algorithm | Supported Key Sizes / Curves | Notes |
|---|---|---|
| RSA | 2048, 3072, 4096 | Recommended for code signing. Required for dual signing (--sha1), ClickOnce/VSTO manifest signing, VSIX/OPC package signing, NuGet package signing, and RDP file signing. See minimum key size guidance below. |
| ECDSA | NIST P-256, P-384, P-521 | Signs and validates on Windows 8 and later. See recommendation below. |
| DSA | — | Not supported. DSA was withdrawn by NIST in FIPS 186-5 (2023) and is no longer validated by modern code-signing runtimes. Signotaur will reject a DSA certificate at registration time. |
| ECDH (Elliptic Curve Diffie-Hellman) | — | Not supported. ECDH is a key-agreement algorithm, not a signature algorithm. Signotaur will reject an ECDH certificate at registration time. |
Supported file digest (hash) algorithms include SHA-256, SHA-384, and SHA-512. SHA-1 is supported only as a secondary algorithm via the --sha1 dual-signing option on the Sign command, which exists solely for legacy Windows compatibility.
Effective 1 June 2021, the CA/Browser Forum Baseline Requirements for Code Signing Certificates require RSA keys of 3072 bits or larger for publicly-trusted code signing certificates. Microsoft's Trusted Root Program Requirements align with the same 3072-bit minimum. No public CA will issue a code signing certificate with a 2048-bit RSA key today.
Signotaur still accepts 2048-bit RSA certificates at registration, which remains useful for:
When purchasing or renewing a code signing certificate, choose RSA 3072 or larger. 3072 is the recommended choice — it meets the CA/Browser Forum minimum and provides the NIST-equivalent 128-bit security level (matching AES-128) without the extra overhead of 4096. 4096 is also fine if your policy requires it. For general (non-code-signing) RSA use such as TLS, 2048 remains acceptable per NIST SP 800-57 through approximately 2030.
Signotaur supports three sources for code-signing certificates, each accessible via its own tab in the Add New Certificate dialog:
When choosing a new code-signing certificate, we recommend RSA 3072-bit or larger rather than ECC/ECDSA. ECDSA code-signing certificates will sign and validate on Windows 8 and later for the normal UAC / WinVerifyTrust case, but Microsoft's Trusted Root Program Requirements (section 3.B) list ECC/ECDSA as "Not Supported" for code signing, and in practice RSA offers broader compatibility:
--sha1 dual-signing option on the Sign command requires an RSA certificate. Attempting to dual-sign with an ECDSA certificate will produce an E_INVALIDARG error when the secondary signature is appended.VSIXInstaller.exe rejects ECDSA signatures), and RDP by practical compatibility (mstsc has no documented or validated ECDSA support).If you already have an ECDSA certificate, it remains perfectly usable for standard SHA-256 signing on modern Windows. The recommendation above applies when purchasing or renewing a certificate.
This page cites several external bodies and documents. Brief descriptions are below for readers unfamiliar with the terms.
1.3.6.1.5.5.7.3.3) is the EKU that marks a certificate as valid for signing software.WinVerifyTrust Windows API and drives UAC prompts, SmartScreen warnings, and driver-loading decisions..pfx or .p12 extension.