diff --git a/index.md b/index.md
index c1c3a41..e8e9f32 100644
--- a/index.md
+++ b/index.md
@@ -94,6 +94,7 @@ See [https://github.com/chains-project/](https://github.com/orgs/chains-project/
- [Software supply chain attacks on crypto infrastructure](software-supply-chain-attacks-crypto.md)
- [NIX and the supply chain, debrief of NixCon 2022](nixcon-2022.md)
- [SBOMs for your GitHub Releases](sbom-github.md)
+- [Sigstore Attestations for your GitHub Releases](maven-sigstore.md)
- [Software suply chain CWEs](cwe-software-supplu-chain.md)
- [CHAINS checklist](chains-repo-checklist.md)
diff --git a/maven-sigstore.md b/maven-sigstore.md
new file mode 100644
index 0000000..a57352d
--- /dev/null
+++ b/maven-sigstore.md
@@ -0,0 +1,63 @@
+---
+title: Pushing Sigstore Attestations to Maven Central on Release
+---
+
+# Pushing Sigstore Attestations to Maven Central on Release
+
+## Requirements
+
+You need a project, a GitHub repository, and releases done with GitHub Actions. You also need a sigstore plugin that supports your build system.
+Here we show how to do it with maven and sigstore-maven-plugin.
+
+## Steps
+
+1. Add a plugin to your pom.xml. If you have a different build system, you can find the appropriate plugin here: [https://docs.sigstore.dev/language_clients/language_client_overview/](https://docs.sigstore.dev/language_clients/language_client_overview/).
+
+ ```xml
+
+ true
+
+ ```
+
+ ```xml
+
+
+
+ dev.sigstore
+ sigstore-maven-plugin
+ 1.3.0
+
+ ${sigstore.skip}
+
+
+
+ sign
+
+ sign
+
+
+
+
+
+
+ ```
+
+ This will create a `.sigstore.json` with the attestation during the `sign` build step. We add the optional property `sigstore.skip` to make the default to not sign (for easier local development). Signing is then enabled during deployment builds using the maven argument: `-Dsigstore.skip=false`.
+
+2. (GitHub) Add the `id-token` permission to your release job in GitHub Actions.
+
+ ```yaml
+ jobs:
+ build:
+ name: Build and release
+ permissions:
+ id-token: write
+ [...]
+ ```
+
+ This enables OIDC authentication for the release job, which is required for signing artifacts with sigstore. For additional details, see the documentation for [sigstore-maven-plugin](https://github.com/sigstore/sigstore-java/tree/main/sigstore-maven-plugin).
+
+3. (Maven Central) JReleaser automatically uploads the `.sigstore.json` files to Maven Central.
+
+4. Make a release :) The final result looks like this on Maven Central: https://repo1.maven.org/maven2/io/github/chains-project/maven-lockfile/5.8.2/.
+
diff --git a/sbom-github.md b/sbom-github.md
index c20f011..2e0063d 100644
--- a/sbom-github.md
+++ b/sbom-github.md
@@ -26,7 +26,7 @@ By the end of this post, you will clearly understand how to add SBOMs to your so
## Steps
-1. Add a plugin to your pom.xml. If you have a different build system, you can find the appropriate plugin here: https://cyclonedx.org/docs/bom-tools/
+1. Add a plugin to your pom.xml. If you have a different build system, you can find the appropriate plugin here: [https://cyclonedx.org/docs/bom-tools/](https://cyclonedx.org/docs/bom-tools/)
```xml
@@ -69,9 +69,9 @@ By the end of this post, you will clearly understand how to add SBOMs to your so
```yml
- name: Run JReleaser
- uses: jreleaser/release-action@f69e545b05f149483cecb2fb81866247992694b8
+ uses: jreleaser/release-action@ad73772277e63d9f2bbf4f24a7bb1300388334d7 # 2.4.3
with:
- version: 1.15.0
+ version: 1.20.0
arguments: full-release
env:
JRELEASER_GITHUB_TOKEN: ${{ secrets.JRELEASER_GITHUB_TOKEN }}
@@ -79,7 +79,7 @@ By the end of this post, you will clearly understand how to add SBOMs to your so
```
4. Make a release :)
- The final result looks like this on GitHub: https://github.com/chains-project/maven-lockfile/releases/tag/v5.3.5 and like this on Maven Central: https://repo1.maven.org/maven2/io/github/chains-project/maven-lockfile/5.3.5/.
+ The final result looks like this on GitHub: https://github.com/chains-project/maven-lockfile/releases/tag/v5.8.2 and like this on Maven Central: https://repo1.maven.org/maven2/io/github/chains-project/maven-lockfile/5.8.2/.
## Conclusion
In conclusion, adding SBOMs to your GitHub and Maven Central releases is a simple and effective way to improve the security and integrity of your software products. Following the steps outlined in this blog post, you can easily generate and add an SBOM to your GitHub and Maven Central release using Maven and JReleaser. With an SBOM, you can identify and remediate vulnerabilities in your software products on time, reducing the risk of security breaches and ensuring the trust of your users. We hope this post has helped guide you through adding SBOMs to your GitHub and Maven Central releases, and we encourage you to continue exploring ways to improve the security and quality of your software products.