You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/_data/changelog.yml
+21Lines changed: 21 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,24 @@
1
+
- date: '2026-05-26'
2
+
updates:
3
+
application:
4
+
version: 1.212.1
5
+
new_features:
6
+
- text: |-
7
+
New [`<jsf-sign>`](/artifact-configuration/reference#jsf-sign) directive to sign JSON files using JSON Signature Format (JSF).
8
+
issues: [SIGN-8481, SIGN-8483]
9
+
bug_fixes:
10
+
- text: |-
11
+
Fixed in REST API: requests with a non-JSON `Accept` header now return the correct HTTP error response (for example, 400 Bad Request) instead of triggering a subsequent status 500 error.
12
+
issues: [SIGN-8228]
13
+
- text: |-
14
+
Fixed in REST API: routes called with an empty GUID ID now return 400 Bad Request instead of status 500 errors.
15
+
issues: [SIGN-8519]
16
+
self_hosted_installations:
17
+
version: 1.212.1
18
+
improvements:
19
+
- text: |-
20
+
`signpath-signservice-<type>` Helm chart Pods are automatically restarted on Helm chart upgrades (as previously implemented for `signpath-application` chart Pods.) This can be opted out via `chartSettings.disableDeploymentRestartOnHelmUpgrade` for both charts.
Copy file name to clipboardExpand all lines: docs/_data/tables/artifact-configuration.yml
+7-1Lines changed: 7 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -106,7 +106,12 @@ signing-file-elements:
106
106
isComposite: "No"
107
107
directive: "[`<xml-sign>`](#xml-sign)"
108
108
extensions: ".xml"
109
-
description: "Use this directive to sign XML files using [XMLDSIG](https://www.w3.org/TR/xmldsig-core1/) (available for Advanced Code Signing). File size limit: 2 MB."
109
+
description: "Sign XML files using [XMLDSIG](https://www.w3.org/TR/xmldsig-core1/) (available for Advanced Code Signing). File size limit: 2 MB."
110
+
- element: "`<json-file>`"
111
+
isComposite: "No"
112
+
directive: "[`<jsf-sign>`](#jsf-sign)"
113
+
extensions: ".json"
114
+
description: "Sign JSON files using [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html?)."
Copy file name to clipboardExpand all lines: docs/artifact-configuration/reference.md
+42-14Lines changed: 42 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ Signing directives are available for several code signing methods. There are thr
37
37
38
38
These signing methods add signatures to existing files. Several platforms including Windows, Apple, and Java provide a variety of file formats that support embedded signatures.
39
39
40
-
Since the file's format does not change, the unsigned files are not needed anymore. SignPath will only return the signed files in Signing Requests.
40
+
Since the file's format does not change, the unsigned files are not needed anymore. SignPath only returns the signed files in Signing Requests.
41
41
42
42
#### Supported embedded formats
43
43
@@ -50,7 +50,8 @@ Since the file's format does not change, the unsigned files are not needed anymo
The general syntax for embedded signing methods is: `<`_format_`-sign />`
@@ -192,7 +193,7 @@ Note that not all OPC-based formats use OPC signatures:
192
193
193
194
##### Verification {#jar-sign-verification}
194
195
195
-
***Java** always verifies signatures for client components. For server components, you will need to create a policy. Please consult the documentation of your application server or [Oracle's documentation](https://docs.oracle.com/javase/tutorial/security/toolsign/receiver.html).
196
+
***Java** always verifies signatures for client components. For server components, you need to create a policy. Please consult the documentation of your application server or [Oracle's documentation](https://docs.oracle.com/javase/tutorial/security/toolsign/receiver.html).
196
197
***Android** always verifies App signatures, but current Android versions require signing schemes v2 or v3.
197
198
* If you sign **ZIP files**, the receiver needs to manually check the signature before unpacking the file.
198
199
@@ -306,11 +307,19 @@ The `dpkg` command internally uses [`debsig-verify`]. You can also use this tool
306
307
307
308
{% include editions.md feature="file_based_signing.xml" %}
308
309
310
+
{:.panel.tip}
311
+
> XMLDSIG can be used to sign CycloneDX XML SBOMs.
Sign XML files with [XMLDSIG](https://www.w3.org/TR/xmldsig-core1/).
312
316
313
-
This will create an _enveloped signature_ for the entire document.
317
+
This creates an _XMLDSIG enveloped signature_ for the entire document: a `<ds:Signature>` element is added to the existing root element.
318
+
319
+
{:.panel.info}
320
+
> **Terminology**
321
+
>
322
+
> XMLDSIG terminology names this method [_enveloped signature_](https://www.w3.org/TR/xmldsig-core1/#def-SignatureEnveloped) although it does not create an envelope. Since it preserves the existing XML document and structure, it can be treated as an _embedded signature_ for most purpuses. However, the new element might break the root element's schema if signing is not expected by the target schema.
314
323
315
324
The result is a `Signature` element added to the root element (after all existing children) with the following properties:
316
325
@@ -335,13 +344,33 @@ See also:
335
344
336
345
* Use [metadata restrictions](#metadata-restrictions) for `<xml-file>` to restrict root element and namespace.
337
346
347
+
#### `<jsf-sign>`: JSON Signature Format {#jsf-sign}
348
+
349
+
{% include editions.md feature="file_based_signing.jsf" %}
350
+
351
+
{:.panel.tip}
352
+
> JSF can be used to sign CycloneDX v1.x JSON SBOMs.
Sign JSON files with [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html).
357
+
358
+
This creates signature of the whole document: a `signature` property is added at the root level. Note that a JSON object is expected, JSON arrays are not supported at the root level.
359
+
360
+
**Supported options:**
361
+
362
+
| Parameter | Default value | Available values | Description
This will place the signature at the right place within the OCI layout and add relevant references.
399
+
This places the signature at the right place within the OCI layout and add relevant references.
371
400
372
401
**Supported options:**
373
402
@@ -391,7 +420,7 @@ _Note: You can create both [Notary](#notation-sign) and Cosign signatures for th
391
420
392
421
These signing methods create new files that contain both the original file and the signature. Enveloped signatures are available for all file types using the `<file>` element. Since the signed file is _added_, this `<file>` element must be contained in a `<zip-file>` element.
393
422
394
-
While the original file is still available, it often needs to be extracted from the enveloped file in order to be used, ideally after sucessful signature verification. SignPath will preserve the original files in Signing Requests.
423
+
While the original file is still available, it often needs to be extracted from the enveloped file in order to be used, ideally after sucessful signature verification. SignPath preserves the original files in Signing Requests.
395
424
396
425
#### Supported enveloped formats
397
426
@@ -441,8 +470,7 @@ This example signs SLSA Verification Summary Attestations using DSSE:
441
470
</artifact-configuration>
442
471
~~~
443
472
444
-
The resulting artifact will contain both the original file `slsa-vsa.json` and the enveloped signature`slsa-vsa.dsse`.
445
-
473
+
The resulting artifact contains both the original file `slsa-vsa.json` and the enveloped signature`slsa-vsa.dsse`.
These signing methods create new files that contain the signature and a cryptographic hash code of the original file. Detached signatures are available for all file types using the `<file>` element. Since the signature file is _added_, this `<file>` element must be contained in a `<zip-file>` element.
507
535
508
-
For signature verification, both the original file and the detached signature must be present. SignPath will preserve the original files in Signing Requests.
536
+
For signature verification, both the original file and the detached signature must be present. SignPath preserves the original files in Signing Requests.
509
537
510
538
#### Supported detached formats
511
539
@@ -552,7 +580,7 @@ The `create-cms-signature` directive supports the following parameters:
552
580
</artifact-configuration>
553
581
~~~
554
582
555
-
The resulting artifact will contain both the original file `myfile.bin` and the detached signature in `myfile.bin.cms.pem`.
583
+
The resulting artifact contains both the original file `myfile.bin` and the detached signature in `myfile.bin.cms.pem`.
556
584
557
585
##### CMS signature verification
558
586
@@ -592,7 +620,7 @@ The `create-gpg-signature` directive supports the following parameters:
592
620
| `output-file-name` | (mandatory) | | Name of the output file containing the signature. Use `${file.name}` to reference the source file name.
593
621
| `output-encoding` | `ascii-armored` | `ascii-armored`, `binary` | The encoding of the output file containing the signature. Either [ASCII armored, i.e. text-only](https://datatracker.ietf.org/doc/html/rfc4880#section-6.2) (default) or the binary OpenPGP packet format.
594
622
| `hash-algorithm` | `sha256` | `sha256`, `sha384`, `sha512` | Hash algorithm used to create the signature.
595
-
| `version` | `4` | `4` | Specifies the [signature version](https://datatracker.ietf.org/doc/html/rfc4880#section-5.2). Currently only `4` is supported, the attribute is intended to allow to fixate the version in case the default version will be changed in the future.
623
+
| `version` | `4` | `4` | Specifies the [signature version](https://datatracker.ietf.org/doc/html/rfc4880#section-5.2). Currently only `4` is supported, the attribute is intended to allow pinning the version in case the default version changes in the future.
596
624
597
625
##### Example
598
626
@@ -606,7 +634,7 @@ The `create-gpg-signature` directive supports the following parameters:
606
634
</artifact-configuration>
607
635
~~~
608
636
609
-
The resulting artifact will contain both the original file `myfile.bin` and the detached signature in `myfile.bin.asc`.
637
+
The resulting artifact contains both the original file `myfile.bin` and the detached signature in `myfile.bin.asc`.
610
638
611
639
##### GPG signature verification
612
640
@@ -658,7 +686,7 @@ The `create-raw-signature` directive supports the following parameters:
658
686
</artifact-configuration>
659
687
~~~
660
688
661
-
The resulting artifact will contain both the original file `myfile.bin` and the detached signature in `myfile.bin.sig`.
689
+
The resulting artifact contains both the original file `myfile.bin` and the detached signature in `myfile.bin.sig`.
Copy file name to clipboardExpand all lines: docs/artifact-configuration/syntax.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -198,7 +198,7 @@ If wildcards are used, optional `max-matches` and `min-matches` parameters can b
198
198
199
199
## File and directory sets {#file-and-directory-sets}
200
200
201
-
If multiple files or directories should be handled in the same way, you can enumerate them using one of the following file or directory set elements: `<directory-set>`, `<pe-file-set>`, `<powershell-file-set>`, `<windows-script-file-set>`, `<msi-file-set>`, `<cab-file-set>`, `<catalog-file-set>`, `<appx-file-set>`, `<msix-file-set>`, `<opc-file-set>`, `<nupkg-file-set>`, `<jar-file-set>`, `<zip-file-set>`, `<office-oxml-file-set>`, `<office-binary-file-set>`, `<xml-file-set>`, `<file-set>`
201
+
If multiple files or directories should be handled in the same way, you can enumerate them using one of the following file or directory set elements: `<directory-set>`, `<pe-file-set>`, `<powershell-file-set>`, `<windows-script-file-set>`, `<msi-file-set>`, `<cab-file-set>`, `<catalog-file-set>`, `<appx-file-set>`, `<msix-file-set>`, `<opc-file-set>`, `<nupkg-file-set>`, `<jar-file-set>`, `<zip-file-set>`, `<office-oxml-file-set>`, `<office-binary-file-set>`, `<xml-file-set>`, `<json-file-set>`, `<file-set>`
0 commit comments