DRAFT - maybe to be deleted
To integrate Signum into a Jenkins pipeline, connect Jenkins to Signum through an Agent and standard signing interfaces, such as PKCS#11, KSP, or platform-specific tooling like SignTool or jarsigner.
Because Jenkins just executes shell commands, and Signum integrates via:
-
Standard cryptographic providers
-
Standard signing tools
-
No proprietary Jenkins plugin dependency
Below is a practical, implementation-focused overview.
Install the Signum Agent on the Jenkins Build Node
Install the Signum agent on a Jenkins build agent/node.
The agent:
-
Authenticates to Signum SaaS
-
Exposes signing interfaces locally (KSP, PKCS#11, etc.)
Configure Signing Tooling
Depending on what you're signing:
-
Windows (.exe, .dll): Use:
signtool.exe,configure Signum’s KSP provider
Example manual test:
signtool sign /fd SHA256 /n "My Signing Cert" myapp.exe
-
Java (JAR files) Use:
jarsignerConfigure Signum PKCS#11 provider
Example:
jarsigner -keystore NONE \
-storetype PKCS11 \
-signedjar app-signed.jar app.jar mykey
-
Containers: Use:
cosign andConfigure with Signum-backed key
Add Signing to Jenkins Pipeline
Declarative Pipeline Example (Windows signing):
pipeline {
agent { label 'windows-signing-node' }
stages {
stage('Build') {
steps {
bat 'dotnet build MyApp.sln -c Release'
}
}
stage('Sign') {
steps {
bat '''
signtool sign ^
/fd SHA256 ^
/n "My Signing Cert" ^
.\\bin\\Release\\MyApp.exe
'''
}
}
stage('Archive') {
steps {
archiveArtifacts artifacts: 'bin/Release/*.exe'
}
}
}
}
No special Jenkins plugin is required — Signum integrates at the cryptographic provider level.
Authentication Options
Signum typically authenticates the agent via:
-
API credentials
-
Service principal
-
Identity provider (SAML / OAuth)
-
Token-based authentication
For production pipelines:
-
Use machine/service identity
-
Avoid embedding credentials directly in the Jenkinsfile
-
Store secrets in Jenkins Credentials Manager