Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: sigstore/sigstore-js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: ebdcfdfbdfeb9c9aeee6df53674ef230613629f5
Choose a base ref
...
head repository: sigstore/sigstore-js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f0b49a04e5a62250e0f60fb128004a73110fe311
Choose a head ref
Loading
Showing with 13,856 additions and 7,495 deletions.
  1. +4 −0 .github/dependabot.yml
  2. +3 −5 .github/workflows/ci.yml
  3. +36 −0 .github/workflows/compatibility-check.yml
  4. +27 −0 .github/workflows/conformance.yml
  5. +1 −1 .github/workflows/release.yml
  6. +2 −1 .github/workflows/smoke-test.yml
  7. +111 −82 DEMO.md
  8. +2 −0 README.md
  9. +4,189 −2,855 package-lock.json
  10. +12 −12 package.json
  11. +33 −0 packages/bundle/CHANGELOG.md
  12. +202 −0 packages/bundle/LICENSE
  13. +19 −0 packages/bundle/README.md
  14. +7 −4 packages/{client/src/external/index.ts → bundle/jest.config.js}
  15. +35 −0 packages/bundle/package.json
  16. +153 −0 packages/bundle/src/__tests__/build.test.ts
  17. +258 −0 packages/bundle/src/__tests__/bundle.test.ts
  18. +30 −0 packages/bundle/src/__tests__/error.test.ts
  19. +168 −0 packages/bundle/src/__tests__/index.test.ts
  20. +143 −14 packages/{client/src/__tests__/types/sigstore → bundle/src/__tests__}/serialized.test.ts
  21. +844 −0 packages/bundle/src/__tests__/validate.test.ts
  22. +124 −0 packages/bundle/src/build.ts
  23. +140 −0 packages/bundle/src/bundle.ts
  24. +23 −0 packages/bundle/src/error.ts
  25. +63 −0 packages/bundle/src/index.ts
  26. +31 −10 packages/{client/src/types/sigstore → bundle/src}/serialized.ts
  27. +36 −0 packages/bundle/src/utility.ts
  28. +97 −27 packages/{client/src/types/sigstore → bundle/src}/validate.ts
  29. +12 −0 packages/bundle/tsconfig.json
  30. +43 −0 packages/cli/CHANGELOG.md
  31. +17 −16 packages/cli/README.md
  32. +7 −7 packages/cli/package.json
  33. +1 −1 packages/cli/src/commands/attest.ts
  34. +2 −2 packages/cli/src/commands/verify.ts
  35. +64 −0 packages/client/CHANGELOG.md
  36. +151 −99 packages/client/README.md
  37. +9 −10 packages/client/package.json
  38. +3 −0 packages/client/src/__tests__/__fixtures__/bundles/{ → v01}/dsse.ts
  39. 0 packages/client/src/__tests__/__fixtures__/bundles/{ → v01}/index.ts
  40. 0 packages/client/src/__tests__/__fixtures__/bundles/{ → v01}/signature.ts
  41. +32 −0 packages/client/src/__tests__/__fixtures__/bundles/v02/index.ts
  42. +166 −0 packages/client/src/__tests__/__fixtures__/bundles/v02/signature.ts
  43. +0 −38 packages/client/src/__tests__/ca/format.test.ts
  44. +3 −4 packages/client/src/__tests__/ca/verify/index.test.ts
  45. +75 −52 packages/client/src/__tests__/config.test.ts
  46. +0 −65 packages/client/src/__tests__/identity/issuer.test.ts
  47. +0 −123 packages/client/src/__tests__/identity/oauth.test.ts
  48. +54 −55 packages/client/src/__tests__/index.test.ts
  49. +0 −632 packages/client/src/__tests__/sign.test.ts
  50. +0 −67 packages/client/src/__tests__/sigstore-utils.test.ts
  51. +97 −211 packages/client/src/__tests__/sigstore.test.ts
  52. +0 −247 packages/client/src/__tests__/tlog/format.test.ts
  53. +0 −305 packages/client/src/__tests__/tlog/index.test.ts
  54. +24 −34 packages/client/src/__tests__/tlog/verify/body.test.ts
  55. +261 −0 packages/client/src/__tests__/tlog/verify/checkpoint.test.ts
  56. +94 −51 packages/client/src/__tests__/tlog/verify/index.test.ts
  57. +89 −21 packages/client/src/__tests__/tlog/verify/merkle.test.ts
  58. +31 −13 packages/client/src/__tests__/tlog/verify/set.test.ts
  59. +0 −42 packages/client/src/__tests__/types/signature.test.ts
  60. +86 −0 packages/client/src/__tests__/types/sigstore.test.ts
  61. +0 −273 packages/client/src/__tests__/types/sigstore/index.test.ts
  62. +0 −263 packages/client/src/__tests__/types/sigstore/validate.test.ts
  63. +20 −27 packages/client/src/__tests__/util/crypto.test.ts
  64. +0 −51 packages/client/src/__tests__/util/promise.test.ts
  65. +11 −26 packages/client/src/__tests__/verify.test.ts
  66. +0 −38 packages/client/src/ca/format.ts
  67. +4 −2 packages/client/src/ca/verify/chain.ts
  68. +3 −1 packages/client/src/ca/verify/index.ts
  69. +4 −1 packages/client/src/ca/verify/signer.ts
  70. +0 −134 packages/client/src/cli/index.ts
  71. +104 −89 packages/client/src/config.ts
  72. +21 −31 packages/client/src/error.ts
  73. +0 −60 packages/client/src/identity/index.ts
  74. +0 −63 packages/client/src/identity/issuer.ts
  75. +0 −232 packages/client/src/identity/oauth.ts
  76. +11 −2 packages/client/src/index.ts
  77. +0 −158 packages/client/src/sign.ts
  78. +0 −69 packages/client/src/sigstore-utils.ts
  79. +42 −100 packages/client/src/sigstore.ts
  80. +16 −11 packages/client/src/tlog/verify/body.ts
  81. +209 −0 packages/client/src/tlog/verify/checkpoint.ts
  82. +85 −15 packages/client/src/tlog/verify/index.ts
  83. +12 −8 packages/client/src/tlog/verify/merkle.ts
  84. +35 −35 packages/client/src/tlog/verify/set.ts
  85. +0 −49 packages/client/src/types/signature.ts
  86. +73 −0 packages/client/src/types/sigstore.ts
  87. +0 −291 packages/client/src/types/sigstore/index.ts
  88. +0 −17 packages/client/src/types/utility.ts
  89. +11 −16 packages/client/src/util/crypto.ts
  90. +0 −3 packages/client/src/util/index.ts
  91. +0 −34 packages/client/src/util/promise.ts
  92. +19 −17 packages/client/src/verify.ts
  93. +3 −0 packages/client/tsconfig.json
  94. +16 −0 packages/conformance/CHANGELOG.md
  95. +11 −0 packages/conformance/README.md
  96. +17 −0 packages/conformance/bin/dev
  97. +5 −0 packages/conformance/bin/run
  98. +35 −0 packages/conformance/package.json
  99. +37 −0 packages/conformance/src/commands/sign-bundle.ts
  100. +65 −0 packages/conformance/src/commands/sign.ts
  101. +45 −0 packages/conformance/src/commands/verify-bundle.ts
  102. +106 −0 packages/conformance/src/commands/verify.ts
  103. +1 −0 packages/conformance/src/index.ts
  104. +12 −0 packages/conformance/tsconfig.json
  105. +1 −1 packages/jest/package.json
  106. +22 −0 packages/mock-server/CHANGELOG.md
  107. +59 −0 packages/mock-server/README.md
  108. +17 −0 packages/mock-server/bin/dev
  109. +5 −0 packages/mock-server/bin/run
  110. +40 −0 packages/mock-server/package.json
  111. +191 −0 packages/mock-server/src/index.ts
  112. +12 −0 packages/mock-server/tsconfig.json
  113. +30 −0 packages/mock/CHANGELOG.md
  114. +8 −8 packages/mock/package.json
  115. +2 −2 packages/mock/src/index.ts
  116. +5 −3 packages/mock/src/rekor/handler.test.ts
  117. +10 −2 packages/mock/src/rekor/tlog.test.ts
  118. +90 −33 packages/mock/src/rekor/tlog.ts
  119. +6 −0 packages/rekor-types/CHANGELOG.md
  120. +3 −3 packages/rekor-types/package.json
  121. +32 −0 packages/sign/CHANGELOG.md
  122. +202 −0 packages/sign/LICENSE
  123. +184 −0 packages/sign/README.md
  124. +23 −0 packages/sign/jest.config.js
  125. +42 −0 packages/sign/package.json
  126. +331 −0 packages/sign/src/__tests__/bundler/base.test.ts
  127. +177 −0 packages/sign/src/__tests__/bundler/bundle.test.ts
  128. +132 −0 packages/sign/src/__tests__/bundler/dsse.test.ts
  129. +92 −0 packages/sign/src/__tests__/bundler/message.test.ts
  130. +9 −7 packages/{client → sign}/src/__tests__/external/error.test.ts
  131. +1 −1 packages/{client → sign}/src/__tests__/external/fulcio.test.ts
  132. +2 −2 packages/{client → sign}/src/__tests__/external/rekor.test.ts
  133. 0 packages/{client → sign}/src/__tests__/external/tsa.test.ts
  134. +1 −1 packages/{client → sign}/src/__tests__/identity/ci.test.ts
  135. +96 −0 packages/sign/src/__tests__/index.test.ts
  136. +101 −0 packages/sign/src/__tests__/integration.test.ts
  137. +14 −21 packages/{client/src/__tests__/ca/index.test.ts → sign/src/__tests__/signer/fulcio/ca.test.ts}
  138. +40 −0 packages/sign/src/__tests__/signer/fulcio/ephemeral.test.ts
  139. +173 −0 packages/sign/src/__tests__/signer/fulcio/index.test.ts
  140. +26 −0 packages/sign/src/__tests__/util/crypto.test.ts
  141. +26 −0 packages/sign/src/__tests__/util/dsse.test.ts
  142. +55 −0 packages/sign/src/__tests__/util/encoding.test.ts
  143. +80 −0 packages/sign/src/__tests__/util/json.test.ts
  144. +1 −1 packages/{client → sign}/src/__tests__/util/oidc.test.ts
  145. +39 −0 packages/sign/src/__tests__/util/pem.test.ts
  146. +1 −1 packages/{client → sign}/src/__tests__/util/ua.test.ts
  147. +166 −0 packages/sign/src/__tests__/witness/tlog/client.test.ts
  148. +236 −0 packages/sign/src/__tests__/witness/tlog/entry.test.ts
  149. +301 −0 packages/sign/src/__tests__/witness/tlog/index.test.ts
  150. +10 −13 packages/{client/src/__tests__/tsa/index.test.ts → sign/src/__tests__/witness/tsa/client.test.ts}
  151. +110 −0 packages/sign/src/__tests__/witness/tsa/index.test.ts
  152. +114 −0 packages/sign/src/bundler/base.ts
  153. +59 −0 packages/sign/src/bundler/bundle.ts
  154. +51 −0 packages/sign/src/bundler/dsse.ts
  155. +18 −0 packages/sign/src/bundler/index.ts
  156. +34 −0 packages/sign/src/bundler/message.ts
  157. +42 −0 packages/sign/src/error.ts
  158. +1 −1 packages/{client → sign}/src/external/error.ts
  159. +1 −1 packages/{client → sign}/src/external/fulcio.ts
  160. +2 −4 packages/{client → sign}/src/external/rekor.ts
  161. 0 packages/{client → sign}/src/external/tsa.ts
  162. +8 −8 packages/{client → sign}/src/identity/ci.ts
  163. +3 −3 packages/{client/bin/sigstore.js → sign/src/identity/index.ts}
  164. +2 −2 packages/{client → sign}/src/identity/provider.ts
  165. +16 −0 packages/sign/src/index.ts
  166. +26 −12 packages/{client/src/ca/index.ts → sign/src/signer/fulcio/ca.ts}
  167. +46 −0 packages/sign/src/signer/fulcio/ephemeral.ts
  168. +93 −0 packages/sign/src/signer/fulcio/index.ts
  169. +17 −0 packages/sign/src/signer/index.ts
  170. +43 −0 packages/sign/src/signer/signer.ts
  171. +23 −0 packages/sign/src/types/fetch.ts
  172. +22 −0 packages/sign/src/util/crypto.ts
  173. +25 −0 packages/sign/src/util/dsse.ts
  174. +25 −0 packages/sign/src/util/encoding.ts
  175. +22 −0 packages/sign/src/util/index.ts
  176. +57 −0 packages/sign/src/util/json.ts
  177. +1 −1 packages/{client → sign}/src/util/oidc.ts
  178. +27 −0 packages/sign/src/util/pem.ts
  179. +1 −1 packages/{client → sign}/src/util/ua.ts
  180. +18 −0 packages/sign/src/witness/index.ts
  181. +14 −44 packages/{client/src/tlog/index.ts → sign/src/witness/tlog/client.ts}
  182. +53 −72 packages/{client/src/tlog/format.ts → sign/src/witness/tlog/entry.ts}
  183. +107 −0 packages/sign/src/witness/tlog/index.ts
  184. +5 −5 packages/{client/src/tsa/index.ts → sign/src/witness/tsa/client.ts}
  185. +55 −0 packages/sign/src/witness/tsa/index.ts
  186. +36 −0 packages/sign/src/witness/witness.ts
  187. +19 −0 packages/sign/tsconfig.json
  188. +24 −0 packages/tuf/CHANGELOG.md
  189. +6 −6 packages/tuf/package.json
  190. +1 −13 packages/tuf/src/client.ts
  191. +39 −0 tests/bundles/bundleV01-dsse-no-proof.sigstore
  192. +62 −0 tests/bundles/bundleV01-dsse-with-proof.sigstore
  193. +45 −0 tests/bundles/bundleV01-full-cert-chain.sigstore
  194. +39 −0 tests/bundles/bundleV01-intoto-no-proof.sigstore
  195. +60 −0 tests/bundles/bundleV01-intoto-with-proof.sigstore
  196. +62 −0 tests/bundles/bundleV02-dsse.sigstore
  197. +60 −0 tests/bundles/bundleV02-intoto.sigstore
  198. +17 −0 tests/bundles/statement.json
  199. +1 −1 tsconfig.base.json
  200. +3 −0 tsconfig.build.json
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -13,6 +13,10 @@ updates:
- "eslint*"
- "@typescript-eslint/*"
- "prettier"
oclif:
patterns:
- "oclif"
- "@oclif/*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
8 changes: 3 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ jobs:
- name: Checkout source
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Setup node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
node-version: 16
cache: npm
@@ -34,9 +34,7 @@ jobs:
fail-fast: false
matrix:
node-version:
- 14.17.0
- 14.x
- 16.13.0
- 16.14.0
- 16.x
- 18.0.0
- 18.x
@@ -58,7 +56,7 @@ jobs:
- name: Checkout source
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Setup node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
node-version: ${{ matrix.node-version }}
cache: npm
36 changes: 36 additions & 0 deletions .github/workflows/compatibility-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Backward compatibility

on:
workflow_dispatch:
push:
branches: ['main']
pull_request:
branches: ['main']

permissions:
contents: read

jobs:
verify:
name: Verify bundles
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Checkout source
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Setup node
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
node-version: 16
cache: npm
- name: Install CLI
run: npm install -g @sigstore/cli
- name: Verify bundles
run: |
for FILE in ./tests/bundles/*.sigstore; do
echo "Verifying ${FILE}"
sigstore verify $FILE
done
27 changes: 27 additions & 0 deletions .github/workflows/conformance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: "Conformance tests"

on:
workflow_dispatch:
push:
branches: ['main']
pull_request:
branches: ['main']

jobs:
conformance:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Setup node
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
node-version: 16
cache: npm
- name: Install dependencies
run: npm ci
- name: Build sigstore-js
run: npm run build
- uses: sigstore/sigstore-conformance@1abc82cdefe80bd907855d8447f903ba8b4918e0 # v0.0.6
with:
entrypoint: ${{ github.workspace }}/packages/conformance/bin/run
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ jobs:
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3

- name: Setup node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
node-version: 16
registry-url: 'https://registry.npmjs.org'
3 changes: 2 additions & 1 deletion .github/workflows/smoke-test.yml
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ jobs:
- name: Checkout source
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Setup node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3
with:
node-version: 16
cache: npm
@@ -40,6 +40,7 @@ jobs:
run: |
./packages/cli/bin/run verify bundle.sigstore
- name: Archive bundle
if: success() || failure()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3
with:
name: bundle
Loading