@freedomofpress/sigstore-browser 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -5,7 +5,9 @@ export type { TrustedRoot, Sigstore, RawTimestampAuthority } from "./interfaces.
5
5
  export { VerificationError, TimestampError, CertificateError, TLogError, SignatureError, PolicyError, } from "./errors.js";
6
6
  export { verifyRFC3161Timestamp, verifyBundleTimestamp } from "./timestamp/tsa.js";
7
7
  export { TrustedRootProvider, type TrustedRootProviderOptions } from "./trust/tuf.js";
8
- export { X509Certificate, EXTENSION_OID_SCT } from "./x509/cert.js";
9
- export { X509Extension } from "./x509/ext.js";
8
+ export { X509Certificate, EXTENSION_OID_SCT, EXTENSION_OID_FULCIO_ISSUER_V1, EXTENSION_OID_GITHUB_WORKFLOW_TRIGGER, EXTENSION_OID_GITHUB_WORKFLOW_SHA, EXTENSION_OID_GITHUB_WORKFLOW_NAME, EXTENSION_OID_GITHUB_WORKFLOW_REPOSITORY, EXTENSION_OID_GITHUB_WORKFLOW_REF, EXTENSION_OID_OTHERNAME, EXTENSION_OID_FULCIO_ISSUER_V2, EXTENSION_OID_BUILD_SIGNER_URI, EXTENSION_OID_BUILD_SIGNER_DIGEST, EXTENSION_OID_RUNNER_ENVIRONMENT, EXTENSION_OID_SOURCE_REPOSITORY_URI, EXTENSION_OID_SOURCE_REPOSITORY_DIGEST, EXTENSION_OID_SOURCE_REPOSITORY_REF, EXTENSION_OID_SOURCE_REPOSITORY_IDENTIFIER, EXTENSION_OID_SOURCE_REPOSITORY_OWNER_URI, EXTENSION_OID_SOURCE_REPOSITORY_OWNER_IDENTIFIER, EXTENSION_OID_BUILD_CONFIG_URI, EXTENSION_OID_BUILD_CONFIG_DIGEST, EXTENSION_OID_BUILD_TRIGGER, EXTENSION_OID_RUN_INVOCATION_URI, EXTENSION_OID_SOURCE_REPOSITORY_VISIBILITY, } from "./x509/cert.js";
9
+ export { X509Extension, X509FulcioIssuerV1, X509FulcioIssuerV2, X509GitHubWorkflowTriggerExtension, X509GitHubWorkflowSHAExtension, X509GitHubWorkflowNameExtension, X509GitHubWorkflowRepositoryExtension, X509GitHubWorkflowRefExtension, X509BuildSignerURIExtension, X509BuildSignerDigestExtension, X509RunnerEnvironmentExtension, X509SourceRepositoryURIExtension, X509SourceRepositoryDigestExtension, X509SourceRepositoryRefExtension, X509SourceRepositoryIdentifierExtension, X509SourceRepositoryOwnerURIExtension, X509SourceRepositoryOwnerIdentifierExtension, X509BuildConfigURIExtension, X509BuildConfigDigestExtension, X509BuildTriggerExtension, X509RunInvocationURIExtension, X509SourceRepositoryVisibilityExtension, } from "./x509/ext.js";
10
10
  export { CertificateChainVerifier } from "./x509/chain.js";
11
+ export { GITHUB_OIDC_ISSUER, OIDCIssuer, OIDCIssuerV2, GitHubWorkflowTrigger, GitHubWorkflowSHA, GitHubWorkflowName, GitHubWorkflowRepository, GitHubWorkflowRef, OIDCBuildSignerURI, OIDCBuildSignerDigest, OIDCRunnerEnvironment, OIDCSourceRepositoryURI, OIDCSourceRepositoryDigest, OIDCSourceRepositoryRef, OIDCSourceRepositoryIdentifier, OIDCSourceRepositoryOwnerURI, OIDCSourceRepositoryOwnerIdentifier, OIDCBuildConfigURI, OIDCBuildConfigDigest, OIDCBuildTrigger, OIDCRunInvocationURI, OIDCSourceRepositoryVisibility, AllOf, AnyOf, Identity, } from "./policy.js";
12
+ export type { VerificationPolicy } from "./policy.js";
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAClJ,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAClJ,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,8BAA8B,EAC9B,qCAAqC,EACrC,iCAAiC,EACjC,kCAAkC,EAClC,wCAAwC,EACxC,iCAAiC,EACjC,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,sCAAsC,EACtC,mCAAmC,EACnC,0CAA0C,EAC1C,yCAAyC,EACzC,gDAAgD,EAChD,8BAA8B,EAC9B,iCAAiC,EACjC,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,GAC3C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,qCAAqC,EACrC,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,gCAAgC,EAChC,uCAAuC,EACvC,qCAAqC,EACrC,4CAA4C,EAC5C,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,6BAA6B,EAC7B,uCAAuC,GACxC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,EAC5B,mCAAmC,EACnC,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,EACL,KAAK,EACL,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -2,7 +2,8 @@ export { SigstoreVerifier } from "./sigstore.js";
2
2
  export { VerificationError, TimestampError, CertificateError, TLogError, SignatureError, PolicyError, } from "./errors.js";
3
3
  export { verifyRFC3161Timestamp, verifyBundleTimestamp } from "./timestamp/tsa.js";
4
4
  export { TrustedRootProvider } from "./trust/tuf.js";
5
- export { X509Certificate, EXTENSION_OID_SCT } from "./x509/cert.js";
6
- export { X509Extension } from "./x509/ext.js";
5
+ export { X509Certificate, EXTENSION_OID_SCT, EXTENSION_OID_FULCIO_ISSUER_V1, EXTENSION_OID_GITHUB_WORKFLOW_TRIGGER, EXTENSION_OID_GITHUB_WORKFLOW_SHA, EXTENSION_OID_GITHUB_WORKFLOW_NAME, EXTENSION_OID_GITHUB_WORKFLOW_REPOSITORY, EXTENSION_OID_GITHUB_WORKFLOW_REF, EXTENSION_OID_OTHERNAME, EXTENSION_OID_FULCIO_ISSUER_V2, EXTENSION_OID_BUILD_SIGNER_URI, EXTENSION_OID_BUILD_SIGNER_DIGEST, EXTENSION_OID_RUNNER_ENVIRONMENT, EXTENSION_OID_SOURCE_REPOSITORY_URI, EXTENSION_OID_SOURCE_REPOSITORY_DIGEST, EXTENSION_OID_SOURCE_REPOSITORY_REF, EXTENSION_OID_SOURCE_REPOSITORY_IDENTIFIER, EXTENSION_OID_SOURCE_REPOSITORY_OWNER_URI, EXTENSION_OID_SOURCE_REPOSITORY_OWNER_IDENTIFIER, EXTENSION_OID_BUILD_CONFIG_URI, EXTENSION_OID_BUILD_CONFIG_DIGEST, EXTENSION_OID_BUILD_TRIGGER, EXTENSION_OID_RUN_INVOCATION_URI, EXTENSION_OID_SOURCE_REPOSITORY_VISIBILITY, } from "./x509/cert.js";
6
+ export { X509Extension, X509FulcioIssuerV1, X509FulcioIssuerV2, X509GitHubWorkflowTriggerExtension, X509GitHubWorkflowSHAExtension, X509GitHubWorkflowNameExtension, X509GitHubWorkflowRepositoryExtension, X509GitHubWorkflowRefExtension, X509BuildSignerURIExtension, X509BuildSignerDigestExtension, X509RunnerEnvironmentExtension, X509SourceRepositoryURIExtension, X509SourceRepositoryDigestExtension, X509SourceRepositoryRefExtension, X509SourceRepositoryIdentifierExtension, X509SourceRepositoryOwnerURIExtension, X509SourceRepositoryOwnerIdentifierExtension, X509BuildConfigURIExtension, X509BuildConfigDigestExtension, X509BuildTriggerExtension, X509RunInvocationURIExtension, X509SourceRepositoryVisibilityExtension, } from "./x509/ext.js";
7
7
  export { CertificateChainVerifier } from "./x509/chain.js";
8
+ export { GITHUB_OIDC_ISSUER, OIDCIssuer, OIDCIssuerV2, GitHubWorkflowTrigger, GitHubWorkflowSHA, GitHubWorkflowName, GitHubWorkflowRepository, GitHubWorkflowRef, OIDCBuildSignerURI, OIDCBuildSignerDigest, OIDCRunnerEnvironment, OIDCSourceRepositoryURI, OIDCSourceRepositoryDigest, OIDCSourceRepositoryRef, OIDCSourceRepositoryIdentifier, OIDCSourceRepositoryOwnerURI, OIDCSourceRepositoryOwnerIdentifier, OIDCBuildConfigURI, OIDCBuildConfigDigest, OIDCBuildTrigger, OIDCRunInvocationURI, OIDCSourceRepositoryVisibility, AllOf, AnyOf, Identity, } from "./policy.js";
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAmC,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAmC,MAAM,gBAAgB,CAAC;AACtF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,8BAA8B,EAC9B,qCAAqC,EACrC,iCAAiC,EACjC,kCAAkC,EAClC,wCAAwC,EACxC,iCAAiC,EACjC,uBAAuB,EACvB,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,sCAAsC,EACtC,mCAAmC,EACnC,0CAA0C,EAC1C,yCAAyC,EACzC,gDAAgD,EAChD,8BAA8B,EAC9B,iCAAiC,EACjC,2BAA2B,EAC3B,gCAAgC,EAChC,0CAA0C,GAC3C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kCAAkC,EAClC,8BAA8B,EAC9B,+BAA+B,EAC/B,qCAAqC,EACrC,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,gCAAgC,EAChC,mCAAmC,EACnC,gCAAgC,EAChC,uCAAuC,EACvC,qCAAqC,EACrC,4CAA4C,EAC5C,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,6BAA6B,EAC7B,uCAAuC,GACxC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,4BAA4B,EAC5B,mCAAmC,EACnC,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,EACL,KAAK,EACL,QAAQ,GACT,MAAM,aAAa,CAAC"}
@@ -0,0 +1,266 @@
1
+ /**
2
+ * Adapted from sigstore-python sigstore/verify/policy.py
3
+ *
4
+ * This module provides policy verification for checking certificate identity claims.
5
+ * Each policy class verifies a specific X.509 extension value against an expected value.
6
+ *
7
+ * There are two types of extension formats:
8
+ * - V1 extensions: Raw OCTET STRING containing the value directly
9
+ * - V2 extensions: DER-encoded UTF8String (RFC 5280 compliant)
10
+ *
11
+ * Policies can be combined using:
12
+ * - AllOf: All child policies must pass (logical AND)
13
+ * - AnyOf: At least one child policy must pass (logical OR)
14
+ * - Identity: Verifies SAN with optional issuer check
15
+ */
16
+ import { X509Certificate } from "./x509/cert.js";
17
+ export declare const GITHUB_OIDC_ISSUER = "https://token.actions.githubusercontent.com";
18
+ /**
19
+ * Interface that all verification policies conform to.
20
+ */
21
+ export interface VerificationPolicy {
22
+ verify(cert: X509Certificate): void;
23
+ }
24
+ /**
25
+ * Base class for V1 extension policies (raw OCTET STRING value).
26
+ */
27
+ declare abstract class SingleX509ExtPolicyV1 implements VerificationPolicy {
28
+ abstract readonly oid: string;
29
+ abstract readonly name: string;
30
+ protected readonly expectedValue: string;
31
+ constructor(value: string);
32
+ protected abstract getExtensionValue(cert: X509Certificate): string | undefined;
33
+ verify(cert: X509Certificate): void;
34
+ }
35
+ /**
36
+ * Base class for V2 extension policies (DER-encoded UTF8String).
37
+ * Uses the same verify logic as V1 since our extension classes handle the parsing.
38
+ */
39
+ declare abstract class SingleX509ExtPolicyV2 extends SingleX509ExtPolicyV1 {
40
+ }
41
+ /**
42
+ * Verifies the certificate's OIDC issuer (V1 format).
43
+ * OID: 1.3.6.1.4.1.57264.1.1
44
+ */
45
+ export declare class OIDCIssuer extends SingleX509ExtPolicyV1 {
46
+ readonly oid = "1.3.6.1.4.1.57264.1.1";
47
+ readonly name = "OIDCIssuer";
48
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
49
+ }
50
+ /**
51
+ * Verifies the certificate's GitHub Actions workflow trigger.
52
+ * OID: 1.3.6.1.4.1.57264.1.2
53
+ */
54
+ export declare class GitHubWorkflowTrigger extends SingleX509ExtPolicyV1 {
55
+ readonly oid = "1.3.6.1.4.1.57264.1.2";
56
+ readonly name = "GitHubWorkflowTrigger";
57
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
58
+ }
59
+ /**
60
+ * Verifies the certificate's GitHub Actions workflow commit SHA.
61
+ * OID: 1.3.6.1.4.1.57264.1.3
62
+ */
63
+ export declare class GitHubWorkflowSHA extends SingleX509ExtPolicyV1 {
64
+ readonly oid = "1.3.6.1.4.1.57264.1.3";
65
+ readonly name = "GitHubWorkflowSHA";
66
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
67
+ }
68
+ /**
69
+ * Verifies the certificate's GitHub Actions workflow name.
70
+ * OID: 1.3.6.1.4.1.57264.1.4
71
+ */
72
+ export declare class GitHubWorkflowName extends SingleX509ExtPolicyV1 {
73
+ readonly oid = "1.3.6.1.4.1.57264.1.4";
74
+ readonly name = "GitHubWorkflowName";
75
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
76
+ }
77
+ /**
78
+ * Verifies the certificate's GitHub Actions workflow repository.
79
+ * OID: 1.3.6.1.4.1.57264.1.5
80
+ */
81
+ export declare class GitHubWorkflowRepository extends SingleX509ExtPolicyV1 {
82
+ readonly oid = "1.3.6.1.4.1.57264.1.5";
83
+ readonly name = "GitHubWorkflowRepository";
84
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
85
+ }
86
+ /**
87
+ * Verifies the certificate's GitHub Actions workflow ref.
88
+ * OID: 1.3.6.1.4.1.57264.1.6
89
+ */
90
+ export declare class GitHubWorkflowRef extends SingleX509ExtPolicyV1 {
91
+ readonly oid = "1.3.6.1.4.1.57264.1.6";
92
+ readonly name = "GitHubWorkflowRef";
93
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
94
+ }
95
+ /**
96
+ * Verifies the certificate's OIDC issuer (V2 format, DER-encoded).
97
+ * OID: 1.3.6.1.4.1.57264.1.8
98
+ */
99
+ export declare class OIDCIssuerV2 extends SingleX509ExtPolicyV2 {
100
+ readonly oid = "1.3.6.1.4.1.57264.1.8";
101
+ readonly name = "OIDCIssuerV2";
102
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
103
+ }
104
+ /**
105
+ * Verifies the certificate's Build Signer URI.
106
+ * OID: 1.3.6.1.4.1.57264.1.9
107
+ */
108
+ export declare class OIDCBuildSignerURI extends SingleX509ExtPolicyV2 {
109
+ readonly oid = "1.3.6.1.4.1.57264.1.9";
110
+ readonly name = "OIDCBuildSignerURI";
111
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
112
+ }
113
+ /**
114
+ * Verifies the certificate's Build Signer Digest.
115
+ * OID: 1.3.6.1.4.1.57264.1.10
116
+ */
117
+ export declare class OIDCBuildSignerDigest extends SingleX509ExtPolicyV2 {
118
+ readonly oid = "1.3.6.1.4.1.57264.1.10";
119
+ readonly name = "OIDCBuildSignerDigest";
120
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
121
+ }
122
+ /**
123
+ * Verifies the certificate's Runner Environment.
124
+ * OID: 1.3.6.1.4.1.57264.1.11
125
+ */
126
+ export declare class OIDCRunnerEnvironment extends SingleX509ExtPolicyV2 {
127
+ readonly oid = "1.3.6.1.4.1.57264.1.11";
128
+ readonly name = "OIDCRunnerEnvironment";
129
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
130
+ }
131
+ /**
132
+ * Verifies the certificate's Source Repository URI.
133
+ * OID: 1.3.6.1.4.1.57264.1.12
134
+ */
135
+ export declare class OIDCSourceRepositoryURI extends SingleX509ExtPolicyV2 {
136
+ readonly oid = "1.3.6.1.4.1.57264.1.12";
137
+ readonly name = "OIDCSourceRepositoryURI";
138
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
139
+ }
140
+ /**
141
+ * Verifies the certificate's Source Repository Digest.
142
+ * OID: 1.3.6.1.4.1.57264.1.13
143
+ */
144
+ export declare class OIDCSourceRepositoryDigest extends SingleX509ExtPolicyV2 {
145
+ readonly oid = "1.3.6.1.4.1.57264.1.13";
146
+ readonly name = "OIDCSourceRepositoryDigest";
147
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
148
+ }
149
+ /**
150
+ * Verifies the certificate's Source Repository Ref.
151
+ * OID: 1.3.6.1.4.1.57264.1.14
152
+ */
153
+ export declare class OIDCSourceRepositoryRef extends SingleX509ExtPolicyV2 {
154
+ readonly oid = "1.3.6.1.4.1.57264.1.14";
155
+ readonly name = "OIDCSourceRepositoryRef";
156
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
157
+ }
158
+ /**
159
+ * Verifies the certificate's Source Repository Identifier.
160
+ * OID: 1.3.6.1.4.1.57264.1.15
161
+ */
162
+ export declare class OIDCSourceRepositoryIdentifier extends SingleX509ExtPolicyV2 {
163
+ readonly oid = "1.3.6.1.4.1.57264.1.15";
164
+ readonly name = "OIDCSourceRepositoryIdentifier";
165
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
166
+ }
167
+ /**
168
+ * Verifies the certificate's Source Repository Owner URI.
169
+ * OID: 1.3.6.1.4.1.57264.1.16
170
+ */
171
+ export declare class OIDCSourceRepositoryOwnerURI extends SingleX509ExtPolicyV2 {
172
+ readonly oid = "1.3.6.1.4.1.57264.1.16";
173
+ readonly name = "OIDCSourceRepositoryOwnerURI";
174
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
175
+ }
176
+ /**
177
+ * Verifies the certificate's Source Repository Owner Identifier.
178
+ * OID: 1.3.6.1.4.1.57264.1.17
179
+ */
180
+ export declare class OIDCSourceRepositoryOwnerIdentifier extends SingleX509ExtPolicyV2 {
181
+ readonly oid = "1.3.6.1.4.1.57264.1.17";
182
+ readonly name = "OIDCSourceRepositoryOwnerIdentifier";
183
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
184
+ }
185
+ /**
186
+ * Verifies the certificate's Build Config URI.
187
+ * OID: 1.3.6.1.4.1.57264.1.18
188
+ */
189
+ export declare class OIDCBuildConfigURI extends SingleX509ExtPolicyV2 {
190
+ readonly oid = "1.3.6.1.4.1.57264.1.18";
191
+ readonly name = "OIDCBuildConfigURI";
192
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
193
+ }
194
+ /**
195
+ * Verifies the certificate's Build Config Digest.
196
+ * OID: 1.3.6.1.4.1.57264.1.19
197
+ */
198
+ export declare class OIDCBuildConfigDigest extends SingleX509ExtPolicyV2 {
199
+ readonly oid = "1.3.6.1.4.1.57264.1.19";
200
+ readonly name = "OIDCBuildConfigDigest";
201
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
202
+ }
203
+ /**
204
+ * Verifies the certificate's Build Trigger.
205
+ * OID: 1.3.6.1.4.1.57264.1.20
206
+ */
207
+ export declare class OIDCBuildTrigger extends SingleX509ExtPolicyV2 {
208
+ readonly oid = "1.3.6.1.4.1.57264.1.20";
209
+ readonly name = "OIDCBuildTrigger";
210
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
211
+ }
212
+ /**
213
+ * Verifies the certificate's Run Invocation URI.
214
+ * OID: 1.3.6.1.4.1.57264.1.21
215
+ */
216
+ export declare class OIDCRunInvocationURI extends SingleX509ExtPolicyV2 {
217
+ readonly oid = "1.3.6.1.4.1.57264.1.21";
218
+ readonly name = "OIDCRunInvocationURI";
219
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
220
+ }
221
+ /**
222
+ * Verifies the certificate's Source Repository Visibility at signing.
223
+ * OID: 1.3.6.1.4.1.57264.1.22
224
+ */
225
+ export declare class OIDCSourceRepositoryVisibility extends SingleX509ExtPolicyV2 {
226
+ readonly oid = "1.3.6.1.4.1.57264.1.22";
227
+ readonly name = "OIDCSourceRepositoryVisibility";
228
+ protected getExtensionValue(cert: X509Certificate): string | undefined;
229
+ }
230
+ /**
231
+ * The "any of" policy, corresponding to a logical OR between child policies.
232
+ * An empty list of child policies is considered trivially invalid.
233
+ */
234
+ export declare class AnyOf implements VerificationPolicy {
235
+ private children;
236
+ constructor(children: VerificationPolicy[]);
237
+ verify(cert: X509Certificate): void;
238
+ }
239
+ /**
240
+ * The "all of" policy, corresponding to a logical AND between child policies.
241
+ * An empty list of child policies is considered trivially invalid.
242
+ */
243
+ export declare class AllOf implements VerificationPolicy {
244
+ private children;
245
+ constructor(children: VerificationPolicy[]);
246
+ verify(cert: X509Certificate): void;
247
+ }
248
+ /**
249
+ * Verifies the certificate's "identity", corresponding to the X.509v3 SAN.
250
+ *
251
+ * Identities can be verified modulo an OIDC issuer, to prevent an unexpected
252
+ * issuer from offering a particular identity.
253
+ *
254
+ * Supported SAN types include emails, URIs, and Sigstore-specific "other names".
255
+ */
256
+ export declare class Identity implements VerificationPolicy {
257
+ private identity;
258
+ private issuerPolicy;
259
+ constructor(options: {
260
+ identity: string;
261
+ issuer?: string;
262
+ });
263
+ verify(cert: X509Certificate): void;
264
+ }
265
+ export {};
266
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}