Skip to content

Commit 33a3a4f

Browse files
committed
main origin problem after repo rename
2 parents d058cd3 + 86fc62f commit 33a3a4f

12 files changed

Lines changed: 268 additions & 31 deletions

File tree

docs/_data/changelog.yml

Lines changed: 128 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,136 @@
1+
- date: '2026-02-12'
2+
updates:
3+
application:
4+
version: 1.205.1
5+
new_features:
6+
- text: |-
7+
Added support for file-based Debian package (`.deb`) signing via [`<debsigs-sign>`](/artifact-configuration/reference#debsigs-sign).
8+
issues: [SIGN-8222, SIGN-8276]
9+
improvements:
10+
- text: |
11+
Improved the artifact configuration selection in the project creation UI.
12+
issues: [SIGN-8105]
13+
- text: |
14+
REST API: added `webLink` response property, pointing to the Signing Request UI detail page, in the following routes:
15+
* `GET /v1/{organizationId}/SigningRequests/{id}`
16+
* `POST /v1/{organizationId}/SigningRequests/Submit*`
17+
* `POST /v1/{organizationId}/SigningRequests/SignHash`
18+
issues: [SIGN-7742]
19+
- date: '2026-02-12'
20+
updates:
21+
powershell_module:
22+
version: 4.4.6
23+
improvements:
24+
- text: |
25+
Fixed: Signing request submission errors when user-defined parameters ended on the term "file".
26+
issues: [SIGN-8278]
27+
- date: '2026-01-28'
28+
updates:
29+
powershell_module:
30+
version: 4.4.5
31+
improvements:
32+
- text: Improved authorization error messages.
33+
issues: [SIGN-6227]
34+
- date: '2026-01-27'
35+
updates:
36+
application:
37+
version: 1.204.0
38+
improvements:
39+
- text: |
40+
REST API: specific cause of HTTP 403 (Forbidden) errors is now included in the body.
41+
issues: [SIGN-6227]
42+
self_hosted_installations:
43+
version: 1.204.0
44+
breaking_changes:
45+
- text: Changed recommended Kubernetes version to 1.33.x and `signpathio/kubectl` image tag to 1.33.
46+
issues: [SIGN-8203]
47+
azure_devops_connector:
48+
version: 0.8.0
49+
improvements:
50+
- text: Improved performance.
51+
issues: [SIGN-8157]
52+
- text: Reduced number of required network routes for Azure DevOps Server deployments.
53+
issues: [SIGN-8227]
54+
github_connector:
55+
version: 1.120.0
56+
improvements:
57+
- text: Improved performance.
58+
issues: [SIGN-8157]
59+
- text: Reduced number of required network routes for GitHub Enterprise Server deployments.
60+
issues: [SIGN-8227]
61+
bug_fixes:
62+
- text: Fixes wrong values in the repository field for SLSA attestations.
63+
issues: [SIGN-8153]
64+
teamcity_connector:
65+
version: 0.8.0
66+
improvements:
67+
- text: Improved performance.
68+
issues: [SIGN-8157]
69+
bug_fixes:
70+
- text: In case of failed artifact uploads, the integration now aborts immediately instead of running into timeouts.
71+
issues: [SIGN-8284]
72+
teamcity_plugin:
73+
version: 0.4.1
74+
bug_fixes:
75+
- text: Fixes broken documentation links.
76+
issues: [SIGN-8263]
77+
- date: '2026-01-13'
78+
updates:
79+
application:
80+
version: 1.203.0
81+
improvements:
82+
- text: |-
83+
Deep signing with long file paths (> 260 characters) is now supported.
84+
issues: [SIGN-8248]
85+
self_hosted_installations:
86+
version: 1.203.0
87+
breaking_changes:
88+
- text: |
89+
SignService charts: moved Application Insights connection string from `appSecrets.signService.applicationInsights.connectionString` to `appSecrets.shared.applicationInsights.connectionString`.
90+
issues: [SIGN-7578]
91+
teamcity_plugin:
92+
version: 4.0.1
93+
bug_fixes:
94+
- text: Fixes links to online documentation.
95+
issues: [SIGN-8263]
96+
- date: '2025-12-16'
97+
updates:
98+
application:
99+
version: 1.202.0
100+
breaking_changes:
101+
- text: |
102+
REST API: improved naming of "verify origin policy" on signing policy objects.
103+
* Changed the property `verifyOrigin` to `verifyOriginPolicy` and `originVerification` to `originPolicyVerification` in the following API routes:
104+
* `POST /v1/{organizationId}/Projects/{projectSlug}/SigningPolicies`
105+
* `POST /v1/{organizationId}/Projects/{projectSlug}/SigningPolicies/{signingPolicySlug}`
106+
* Changed the property `verifiesOrigin` to `verifiesOriginPolicy` in the following API routes:
107+
* `GET /v1/{organizationId}/Projects/{slug}`
108+
* `GET /v1/{organizationId}/Projects/{projectSlug}/SigningPolicies/{signingPolicySlug}`
109+
issues: [SIGN-8033, SIGN-8259]
110+
new_features:
111+
- text: |-
112+
Added support for file-based RPM Package Manager (`.rpm`) signing via [`<rpm-sign>`](/artifact-configuration/reference#rpm-sign).
113+
issues: [SIGN-8134, SIGN-8162]
114+
improvements:
115+
- text: |
116+
Artifact download permissions based on global roles: only some global roles are now eligible (used to be all explicit global roles). See [documentation](/users#permissions).
117+
issues: [SIGN-8171]
118+
- text: |
119+
Improved the history view on the organization details page (missing fields added).
120+
issues: [SIGN-8172]
121+
self_hosted_installations:
122+
version: 1.202.0
123+
upgrade_information:
124+
- text: |-
125+
All Windows containers switched from Windows Server 2019 to Server 2022 base images. Before starting the upgrade, ensure that your Kubernetes cluster has Windows Server 2022 worker nodes available and ready.
126+
issues: [SIGN-8113]
1127
- date: '2025-12-02'
2128
updates:
3129
application:
4130
version: 1.201.4
5131
new_features:
6132
- text: |-
7-
Added support for the "DSSE (Dead Simple Signing Envelope)" signing format via [`<dsse-sign>`](/artifact-configuration/reference#dsse-sign).
133+
Added support for [DSSE (Dead Simple Signing Envelope) signatures][`<dsse-sign>`](/artifact-configuration/reference#dsse-sign).
8134
issues: [SIGN-8132]
9135
bug_fixes:
10136
- text: |-
@@ -14,7 +140,7 @@
14140
version: 1.201.4
15141
improvements:
16142
- text: |-
17-
Improved SignService reliability on temporary database outages.
143+
Improved SignService reliability during temporary database outages.
18144
issues: [SIGN-8164]
19145
- date: '2025-11-27'
20146
updates:

docs/_data/editions.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
nuget: true
2424
android: true
2525
java: false
26+
rpm: false
27+
deb: false
2628
office_macros: false
2729
xml: false
2830
docker: false
@@ -92,6 +94,8 @@
9294
nuget: true
9395
android: true
9496
java: true
97+
rpm: false
98+
deb: false
9599
office_macros: false
96100
xml: false
97101
docker: false
@@ -156,6 +160,8 @@
156160
nuget: true
157161
android: true
158162
java: true
163+
rpm: true
164+
deb: true
159165
office_macros: true
160166
xml: true
161167
docker: true
@@ -277,6 +283,8 @@
277283
nuget: true
278284
android: true
279285
java: true
286+
rpm: true
287+
deb: false
280288
office_macros: false
281289
xml: false
282290
docker: true

docs/_data/tables/artifact-configuration.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,16 @@ signing-file-elements:
7070
directive: "[`<jar-sign>`](#jar-sign)"
7171
extensions: ".jar, .war, .ear, .apk, .aab"
7272
description: "Java archives and Android apps. (Not available for Code Signing Starter.)"
73+
- element: "`<rpm-file>`"
74+
isComposite: "Yes"
75+
directive: "[`<rpm-sign>`](#rpm-sign)"
76+
extensions: ".rpm"
77+
description: "RPM Package Manager files (available for Advanced Code Signing)"
78+
- element: "`<deb-file>`"
79+
isComposite: "Yes"
80+
directive: "[`<debsigs-sign>`](#debsigs-sign)"
81+
extensions: ".deb"
82+
description: "Debian package files (available for Advanced Code Signing)"
7383
- element: "[`<zip-file>`](syntax#zip-file-element)"
7484
isComposite: "Yes"
7585
directive: "[`<jar-sign>`](#jar-sign)"

docs/artifact-configuration/index.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,29 @@ For non-trivial artifacts, you may want to edit the resulting artifact configura
2727

2828
### Create an artifact configuration
2929

30-
When you create a new project, a default artifact configuration will be added. To create additional artifact configurations, select the project and click **Add** in the **Artifact Configurations** section. In either case, you can
30+
When you create a new project, a default artifact configuration will be added. To create additional artifact configurations, select the project and click **Add** in the **Artifact Configurations** section.
3131

32-
* select **Upload an artifact sample** and select an artifact file to have the artifact configuration generated
33-
* select a **Ready to use artifact configuration**
34-
* select one of the **Templates for custom artifact configurations** and edit the XML content
35-
* select **Custom** and create an artifact configuration from scratch
32+
Choose one of the following options from the drop-down list:
33+
34+
* **Upload an artifact sample**: select an artifact file to have the artifact configuration generated.
35+
* Any **template**: start with a single file type and customize it according to your needs.
36+
* Check _Sign nested files_ to sign files contained within that file (available for composite file types).
37+
* Check _Sign multiple files_ to sign more than one file of the selected type.
38+
* **Custom**: create an artifact configuration from scratch using XML.
39+
40+
You can customize generated or selected artifact configurations in many ways, e.g.
41+
42+
* add arbitrary file structures
43+
* add metadata constraints for additional security
44+
* add verification of existing signatures for upstream and 3rd-party components
45+
* add user-defined parameters
46+
47+
For uploaded sample artifacts, you need to manually review the resulting artifact configuration:
48+
49+
* Exclude all 3rd party components that you don't want to be signed with your certificate. Consider verifying existing signatures for these components.
50+
* Consider adding metadata constraints where available for additional security.
51+
* Replace version numbers that are subject to change with wildcards or user-defined parameters.
52+
* Consider replacing lists of named files with wildcards.
3653

3754
### Edit an artifact configuration
3855

docs/artifact-configuration/reference.md

Lines changed: 79 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ Since the file's format does not change, the unsigned files are not needed anymo
4646
* [`<office-macro-sign>`: Microsoft Office VBA macros](#office-macro-sign)
4747
* [`<opc-sign>`: Open Packaging Convention](#opc-sign)
4848
* [`<jar-sign>`: Java Archives](#jar-sign)
49+
* [`<rpm-sign>`: RPM Package Manager](#rpm-sign)
50+
* [`<debsigs-sign>`: Debian packages](#debsigs-sign)
4951
* [`<xml-sign>`: XML Digital Signature](#xml-sign)
5052

5153
The general syntax for embedded signing methods is: `<`_format_`-sign />`
@@ -192,6 +194,78 @@ jarsigner -verify -strict <file>.zip
192194

193195
Add the `-verbose` option to see the certificate.
194196

197+
198+
#### `<rpm-sign>`: RPM Package Manager {#rpm-sign}
199+
200+
{% include editions.md feature="file_based_signing.rpm" %}
201+
202+
{%- include_relative render-ac-directive-table.inc directive="rpm-sign" -%}
203+
204+
RPM is the package manager format for many Linux distributions including Fedora, RedHat, and openSUSE. RPM is based on GPG signatures and requires [signing policies](/projects#signing-policies) with a [GPG key](/managing-certificates#certificate-types) certificate.
205+
206+
##### Example
207+
208+
~~~ xml
209+
<artifact-configuration xmlns="http://signpath.io/artifact-configuration/v1">
210+
<rpm-file>
211+
<rpm-sign />
212+
</rpm-file>
213+
</artifact-configuration>
214+
~~~
215+
216+
##### Verification {#rpm-sign-verification}
217+
218+
Package verification is typically performed automatically by package management tools like yum and DNF.
219+
220+
To manually verify `.rpm` files, use the following commands:
221+
222+
~~~ bash
223+
rpm --import my_key.asc # Import, i.e. trust, the GPG public key
224+
225+
rpm --verbose --checksig my_package.rpm
226+
~~~
227+
228+
#### `<debsigs-sign>`: Debian package {#debsigs-sign}
229+
230+
{% include editions.md feature="file_based_signing.deb" %}
231+
232+
{%- include_relative render-ac-directive-table.inc directive="debsigs-sign" -%}
233+
234+
Create embedded signatures for Debian packages (`.deb` files). Package signatures are based on GPG and require [signing policies](/projects#signing-policies) with a [GPG key](/managing-certificates#certificate-types) certificate. SignPath signs packages using the [`debsigs`] specification.
235+
236+
**Supported options:**
237+
238+
| Option | Optional | Description
239+
|------------------------|----------|----------------
240+
| `signature-type` | No | The [signature-type][debsigs-sigtype], e.g. `origin`, `maint`, or `archive`. Debian packages can contain multiple signatures _of different type_. Note that verification requires at least an `origin` signature.
241+
242+
##### Example
243+
244+
~~~ xml
245+
<artifact-configuration xmlns="http://signpath.io/artifact-configuration/v1">
246+
<deb-file>
247+
<debsigs-sign signature-type="origin" />
248+
</deb-file>
249+
</artifact-configuration>
250+
~~~
251+
252+
##### Verification {#debsigs-verification}
253+
254+
Package signatures are verified implicitly during [`dpkg --install`][dpkg] operations unless the `--no-debsig` parameter is specified.
255+
256+
{:.panel.note}
257+
> **Package signature verification is not the default**
258+
>
259+
> Many popular Linux distributions including Ubuntu and Debian set `no-debsig` by default in `/etc/dpkg/dpkg.cfg`. The reason is that rather than individual Debian package files, these distros verify the whole package _repository_ via [`Release.gpg`].
260+
261+
The `dpkg` command internally uses [`debsig-verify`]. You can also use this tool directly to verify a `.deb` file after importing the GPG key and setting up the policies (`.pol`) XML file (see [man page][`debsig-verify`] for details).
262+
263+
[`debsigs`]: https://manpages.debian.org/stable/debsigs/debsigs.1p.en.html
264+
[debsigs-sigtype]: https://manpages.debian.org/stable/debsigs/debsigs.1p.en.html#SIGNATURE_TYPES
265+
[dpkg]: https://manpages.debian.org/stable/dpkg/dpkg.1.en.html
266+
[`Release.gpg`]: https://wiki.debian.org/SecureApt#How_apt_uses_Release.gpg
267+
[`debsig-verify`]: https://manpages.debian.org/stable/debsig-verify/debsig-verify.1.en.html
268+
195269
#### `<xml-sign>`: XML Digital Signature {#xml-sign}
196270

197271
{% include editions.md feature="file_based_signing.xml" %}
@@ -215,7 +289,7 @@ The result is a `Signature` element added to the root element (after all existin
215289
| X.509 Certificate | _See `key-info-x509-data` option_ | `/*/Signature/KeyInfo/X509Data`
216290
{:.break-code}
217291

218-
**Supported options:**
292+
**Supported options:**
219293

220294
| Option | Optional | Description
221295
|------------------------------|----------|------------------------------------------------------------------------------
@@ -235,7 +309,7 @@ While the original file is still available, it often needs to be extracted from
235309

236310
* [`<dsse-sign>`: DSSE (Dead Simple Signing Envelope)](#dsse-sign)
237311

238-
The general syntax for embedded signing methods is: `<`_format_`-sign output-file-name="..." />`
312+
The general syntax for enveloped signing methods is: `<`_format_`-sign output-file-name="..." />`
239313

240314
#### `<dsse-sign>`: DSSE (Dead Simple Signing Envelope) {#dsse-sign}
241315

@@ -338,14 +412,14 @@ The resulting artifact will contain both the original file `myfile.bin` and the
338412
Multiple tools support verification of CMS signature. One popular option is `openssl cms`:
339413

340414
~~~ bash
341-
openssl cms -verify -purpose codesign -content myfile.bin -inform PEM -in myfile.cms.pem -out /dev/null
415+
openssl cms -verify -purpose codesign -content myfile.bin -binary -inform PEM -in myfile.bin.cms.pem -out /dev/null
342416
~~~
343417

344418
{:.panel.warning}
345419
> **OpenSSL CMS verification**
346420
>
347421
> * Prior to OpenSSL 3.2, the `-purpose` flag does not support `codesign`. Use `any` instead.
348-
> * When the certificate is not trusted on the target system, specify `-CAFile` with the path of the root certificate. Make sure that the root certificate is distributed in a secure way.
422+
> * When the certificate is not trusted on the target system, specify `-CAfile` with the path of the root certificate. Make sure that the root certificate is distributed in a secure way.
349423
350424
#### `<create-gpg-signature>`: Detached GPG signing {#create-gpg-signature}
351425

@@ -542,6 +616,6 @@ The restrictions can be applied to file elements, [file set elements](syntax#fil
542616

543617
[^jscript]: Note that [JScript](https://en.wikipedia.org/wiki/JScript) is not the same as JavaScript. While it is possible to use this option to sign JavaScript files, JavaScript engines will not be able to use this signature.
544618

545-
[DSSE]: (https://github.com/secure-systems-lab/dsse)
619+
[DSSE]: https://github.com/secure-systems-lab/dsse
546620
[RFC 5652]: https://datatracker.ietf.org/doc/html/rfc5652
547621
[Secure Systems Lab]: https://ssl.engineering.nyu.edu/

docs/build-system-integration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ You need to provide these values for every single API request.
5050

5151
| Synopsis | |
5252
|-----------------------------|------|
53-
| URL | `/SigningRequests`
53+
| URL | `/SigningRequests/SubmitWithArtifact`
5454
| Method | `POST`
5555
| Encoding | `multipart/form-data`
5656

@@ -71,7 +71,7 @@ curl -H "Authorization: Bearer $API_TOKEN" \
7171
-F "artifactConfigurationSlug=v2.4" \
7272
-F "artifact=@$PATH_TO_ARTIFACT" \
7373
-F "description=$DESCRIPTION" \
74-
https://app.signpath.io/API/v1/$ORGANIZATION_ID/SigningRequests
74+
https://app.signpath.io/API/v1/$ORGANIZATION_ID/SigningRequests/SubmitWithArtifact
7575
~~~
7676

7777
**Success result:** HTTP status code `201`. A HTTP `Location` response-header field is returned with the URL of the created entity.

docs/crypto-providers/rest-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ curl -H "Authorization: Bearer $API_TOKEN" \
5353
-F "SigningPolicySlug=test-signing" \
5454
-F "IsFastSigningRequest=true" \
5555
-F "Artifact=@$PATH_TO_ARTIFACT"
56-
https://app.signpath.io/API/v1/$ORGANIZATION_ID/SigningRequests
56+
https://app.signpath.io/API/v1/$ORGANIZATION_ID/SigningRequests/SubmitWithArtifact
5757
~~~
5858

5959
**Request artifact:**

0 commit comments

Comments
 (0)