Skip to content

Commit

Permalink
Merged public key details and known signature algorithms (#212)
Browse files Browse the repository at this point in the history
Signed-off-by: Fredrik Skogman <[email protected]>
  • Loading branch information
kommendorkapten authored Feb 2, 2024
1 parent 29039a0 commit 0d87737
Show file tree
Hide file tree
Showing 18 changed files with 341 additions and 353 deletions.
2 changes: 1 addition & 1 deletion docs/algorithm-registry.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This file is designed to act as a source of truth regarding what signing
algorithms are recommended across the Sigstore ecosystem. Any changes to this
file **must** be reflected in the `KnownSignatureAlgorithm` enumeration in
file **must** be reflected in the `PublicKeyDetails` enumeration in
[sigstore_common.proto](../protos/sigstore_common.proto).

Note that Sigstore clients and services aren't required support all algorithms
Expand Down
12 changes: 9 additions & 3 deletions gen/jsonschema/schemas/ArtifactVerificationOptions.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,19 @@
"PKCS1_RSA_PSS",
"PKIX_RSA_PKCS1V5",
"PKIX_RSA_PSS",
"PKIX_ECDSA_P256_SHA_256",
"PKIX_RSA_PKCS1_2048_SHA256",
"PKIX_RSA_PKCS1_3072_SHA256",
"PKIX_RSA_PKCS1_4096_SHA256",
"PKIX_ECDSA_P256_HMAC_SHA_256",
"PKIX_ED25519"
"PKIX_ECDSA_P256_SHA_256",
"PKIX_ECDSA_P384_SHA_384",
"PKIX_ECDSA_P521_SHA_512",
"PKIX_ED25519",
"PKIX_ED25519_PH"
],
"type": "string",
"title": "Public Key Details",
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. PublicKeyDetails captures the public key/hash algorithm combinations recommended in the Sigstore ecosystem. This is modelled as a linear set as we want to provide a small number of opinionated options instead of allowing every possible permutation. Any changes to this enum MUST be reflected in the algorithm registry. See: docs/algorithm-registry.md To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
},
"validFor": {
"$ref": "#/definitions/dev.sigstore.common.v1.TimeRange",
Expand Down
12 changes: 9 additions & 3 deletions gen/jsonschema/schemas/Input.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -257,13 +257,19 @@
"PKCS1_RSA_PSS",
"PKIX_RSA_PKCS1V5",
"PKIX_RSA_PSS",
"PKIX_ECDSA_P256_SHA_256",
"PKIX_RSA_PKCS1_2048_SHA256",
"PKIX_RSA_PKCS1_3072_SHA256",
"PKIX_RSA_PKCS1_4096_SHA256",
"PKIX_ECDSA_P256_HMAC_SHA_256",
"PKIX_ED25519"
"PKIX_ECDSA_P256_SHA_256",
"PKIX_ECDSA_P384_SHA_384",
"PKIX_ECDSA_P521_SHA_512",
"PKIX_ED25519",
"PKIX_ED25519_PH"
],
"type": "string",
"title": "Public Key Details",
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. PublicKeyDetails captures the public key/hash algorithm combinations recommended in the Sigstore ecosystem. This is modelled as a linear set as we want to provide a small number of opinionated options instead of allowing every possible permutation. Any changes to this enum MUST be reflected in the algorithm registry. See: docs/algorithm-registry.md To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
},
"validFor": {
"$ref": "#/definitions/dev.sigstore.common.v1.TimeRange",
Expand Down
12 changes: 9 additions & 3 deletions gen/jsonschema/schemas/PublicKey.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,19 @@
"PKCS1_RSA_PSS",
"PKIX_RSA_PKCS1V5",
"PKIX_RSA_PSS",
"PKIX_ECDSA_P256_SHA_256",
"PKIX_RSA_PKCS1_2048_SHA256",
"PKIX_RSA_PKCS1_3072_SHA256",
"PKIX_RSA_PKCS1_4096_SHA256",
"PKIX_ECDSA_P256_HMAC_SHA_256",
"PKIX_ED25519"
"PKIX_ECDSA_P256_SHA_256",
"PKIX_ECDSA_P384_SHA_384",
"PKIX_ECDSA_P521_SHA_512",
"PKIX_ED25519",
"PKIX_ED25519_PH"
],
"type": "string",
"title": "Public Key Details",
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. PublicKeyDetails captures the public key/hash algorithm combinations recommended in the Sigstore ecosystem. This is modelled as a linear set as we want to provide a small number of opinionated options instead of allowing every possible permutation. Any changes to this enum MUST be reflected in the algorithm registry. See: docs/algorithm-registry.md To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
},
"validFor": {
"$ref": "#/definitions/dev.sigstore.common.v1.TimeRange",
Expand Down
12 changes: 9 additions & 3 deletions gen/jsonschema/schemas/PublicKeyIdentities.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,19 @@
"PKCS1_RSA_PSS",
"PKIX_RSA_PKCS1V5",
"PKIX_RSA_PSS",
"PKIX_ECDSA_P256_SHA_256",
"PKIX_RSA_PKCS1_2048_SHA256",
"PKIX_RSA_PKCS1_3072_SHA256",
"PKIX_RSA_PKCS1_4096_SHA256",
"PKIX_ECDSA_P256_HMAC_SHA_256",
"PKIX_ED25519"
"PKIX_ECDSA_P256_SHA_256",
"PKIX_ECDSA_P384_SHA_384",
"PKIX_ECDSA_P521_SHA_512",
"PKIX_ED25519",
"PKIX_ED25519_PH"
],
"type": "string",
"title": "Public Key Details",
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. PublicKeyDetails captures the public key/hash algorithm combinations recommended in the Sigstore ecosystem. This is modelled as a linear set as we want to provide a small number of opinionated options instead of allowing every possible permutation. Any changes to this enum MUST be reflected in the algorithm registry. See: docs/algorithm-registry.md To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
},
"validFor": {
"$ref": "#/definitions/dev.sigstore.common.v1.TimeRange",
Expand Down
12 changes: 9 additions & 3 deletions gen/jsonschema/schemas/TransparencyLogInstance.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,19 @@
"PKCS1_RSA_PSS",
"PKIX_RSA_PKCS1V5",
"PKIX_RSA_PSS",
"PKIX_ECDSA_P256_SHA_256",
"PKIX_RSA_PKCS1_2048_SHA256",
"PKIX_RSA_PKCS1_3072_SHA256",
"PKIX_RSA_PKCS1_4096_SHA256",
"PKIX_ECDSA_P256_HMAC_SHA_256",
"PKIX_ED25519"
"PKIX_ECDSA_P256_SHA_256",
"PKIX_ECDSA_P384_SHA_384",
"PKIX_ECDSA_P521_SHA_512",
"PKIX_ED25519",
"PKIX_ED25519_PH"
],
"type": "string",
"title": "Public Key Details",
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. PublicKeyDetails captures the public key/hash algorithm combinations recommended in the Sigstore ecosystem. This is modelled as a linear set as we want to provide a small number of opinionated options instead of allowing every possible permutation. Any changes to this enum MUST be reflected in the algorithm registry. See: docs/algorithm-registry.md To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
},
"validFor": {
"$ref": "#/definitions/dev.sigstore.common.v1.TimeRange",
Expand Down
12 changes: 9 additions & 3 deletions gen/jsonschema/schemas/TrustedRoot.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,19 @@
"PKCS1_RSA_PSS",
"PKIX_RSA_PKCS1V5",
"PKIX_RSA_PSS",
"PKIX_ECDSA_P256_SHA_256",
"PKIX_RSA_PKCS1_2048_SHA256",
"PKIX_RSA_PKCS1_3072_SHA256",
"PKIX_RSA_PKCS1_4096_SHA256",
"PKIX_ECDSA_P256_HMAC_SHA_256",
"PKIX_ED25519"
"PKIX_ECDSA_P256_SHA_256",
"PKIX_ECDSA_P384_SHA_384",
"PKIX_ECDSA_P521_SHA_512",
"PKIX_ED25519",
"PKIX_ED25519_PH"
],
"type": "string",
"title": "Public Key Details",
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
"description": "Details of a specific public key, capturing the the key encoding method, and signature algorithm. PublicKeyDetails captures the public key/hash algorithm combinations recommended in the Sigstore ecosystem. This is modelled as a linear set as we want to provide a small number of opinionated options instead of allowing every possible permutation. Any changes to this enum MUST be reflected in the algorithm registry. See: docs/algorithm-registry.md To avoid the possibility of contradicting formats such as PKCS1 with ED25519 the valid permutations are listed as a linear set instead of a cartesian set (i.e one combined variable instead of two, one for encoding and one for the signature algorithm)."
},
"validFor": {
"$ref": "#/definitions/dev.sigstore.common.v1.TimeRange",
Expand Down
Loading

0 comments on commit 0d87737

Please sign in to comment.