Skip to content

Commit 4aeb798

Browse files
committed
artifact config and forking instructions added
1 parent a578c6e commit 4aeb798

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<artifact-configuration xmlns="http://signpath.io/artifact-configuration/v1">
3+
<zip-file>
4+
5+
<msi-file path="DemoExample.msi">
6+
<directory path="application/SignPath Demo">
7+
8+
<pe-file-set>
9+
<include path="Microsoft.*.dll" min-matches="0" max-matches="unbounded" />
10+
<include path="Microsoft.*.exe" min-matches="0" max-matches="unbounded" />
11+
<for-each>
12+
<authenticode-verify />
13+
</for-each>
14+
</pe-file-set>
15+
16+
<pe-file-set>
17+
<include path="Serilog.dll" product-name="Serilog" min-matches="0" />
18+
<include path="Serilog.AspNetCore.dll" product-name="Serilog" product-version="7.0.0" min-matches="0" />
19+
</pe-file-set>
20+
21+
<pe-file-set>
22+
<include path="DemoExample.dll" />
23+
<include path="DemoExample.exe" />
24+
<for-each>
25+
<authenticode-sign />
26+
</for-each>
27+
</pe-file-set>
28+
29+
</directory>
30+
<authenticode-sign />
31+
</msi-file>
32+
33+
<xml-file path="bom.xml" root-element-namespace="http://cyclonedx.org/schema/bom/1.5" root-element-name="bom">
34+
<xml-sign/>
35+
</xml-file>
36+
37+
</zip-file>
38+
</artifact-configuration>

README.md

+21
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,33 @@ Signing is invoked in the `sign` step of [.github/workflows/build-and-sign.yml](
66

77
See [github.com/SignPath/github-actions](https://github.com/SignPath/github-actions) for a full documentation of SignPath actions.
88

9+
## Policy demonstrations
10+
911
This project demonstrates the following attempts to violate SignPath policies and how they are averted on the control plane:
1012

1113
* This step selects the appropriate [signing policy] depending on the branch name. The actual branch must match the branch condition of the selected signing policy. The [`attempt-signing-release`] branch demonstrates how SignPath will detect incorrect attempts.
1214
* The [`release/malicious-dll`] branch demonstrates how SignPath will detect content-level violations of the [artifact configuration].
1315

16+
## Configuration
17+
18+
To use this demo with your own SignPath subscription, you need to get access to SignPath's GitHub Actions preview. Please contact [email protected].
19+
20+
* Fork this repository
21+
* In your SignPath organization, create a project with
22+
* Slug: `Demo_Application`
23+
* Repository URL: URL of your forked repository
24+
* Trusted Build Systems: Link _GitHub Actions (Preview)_
25+
* Add the following artifact configuration as default: [.signpath/artifact-configurations/default.xml](.signpath/artifact-configurations/default.xml)
26+
* Add a `test-signing` signing policy
27+
* Add a `release-signing` signing policy with origin verification enabled and restricted to `main` and `release/*` branches
28+
* Create an [API token] in SignPath and add it as a GitHub Actions secret `SIGNPATH_API_TOKEN` (make sure the user is a submitter in your signing policies)
29+
* Add your SignPath organization ID as a GitHub Actions variable `SIGNPATH_ORGANIZATION_ID`
30+
* Enable Actions for your repository
31+
32+
1433
[signing policy]: https://about.signpath.io/documentation/projects#signing-policies
1534
[artifact configuration]: https://about.signpath.io/documentation/projects#artifact-configurations
1635
[`attempt-signing-release`]: https://github.com/SignPath/github-actions-demo/blob/feature/attempt-signing-release/.github/workflows/build-and-sign.yml#L46
1736
[`release/malicious-dll`]: https://github.com/SignPath/github-actions-demo/blob/release/malicious-dll/src/Build.ps1#L4
37+
38+
[API token]: https://about.signpath.io/documentation/users#interactive-api-token

0 commit comments

Comments
 (0)