Skip to content

Commit 819e5a1

Browse files
authored
Merge pull request #632 from jku/add-unstable-api-notes
Sigstore, Spx: Add notes about metadata format stability
2 parents d0dcbd8 + f2a39f5 commit 819e5a1

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

Diff for: securesystemslib/signer/__init__.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@
3838
}
3939
)
4040

41+
# Signers with currently unstable metadata formats, not supported by default:
42+
# SigstoreSigner,
43+
# SpxSigner (also does not yet support private key uri scheme)
44+
4145
# Register supported key types and schemes, and the Keys implementing them
4246
KEY_FOR_TYPE_AND_SCHEME.update(
4347
{
@@ -54,9 +58,12 @@
5458
("rsa", "rsa-pkcs1v15-sha256"): SSlibKey,
5559
("rsa", "rsa-pkcs1v15-sha384"): SSlibKey,
5660
("rsa", "rsa-pkcs1v15-sha512"): SSlibKey,
57-
("sphincs", "sphincs-shake-128s"): SpxKey,
5861
("rsa", "pgp+rsa-pkcsv1.5"): GPGKey,
5962
("dsa", "pgp+dsa-fips-180-2"): GPGKey,
6063
("eddsa", "pgp+eddsa-ed25519"): GPGKey,
6164
}
6265
)
66+
67+
# Keys with currently unstable metadata formats, not supported by default:
68+
# ("sphincs", "sphincs-shake-128s"): SpxKey,
69+
# ("sigstore-oidc", "Fulcio"): SigstoreKey,

Diff for: securesystemslib/signer/_sigstore_signer.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
2828
class SigstoreKey(Key):
2929
"""Sigstore verifier.
3030
31-
NOTE: unstable API - routines and metadata formats may change!
31+
NOTE: The Sigstore key and signature serialization formats are not yet
32+
considered stable in securesystemslib. They may change in future releases
33+
and may not be supported by other implementations.
3234
"""
3335

3436
DEFAULT_KEY_TYPE = "sigstore-oidc"
@@ -87,7 +89,9 @@ def verify_signature(self, signature: Signature, data: bytes) -> None:
8789
class SigstoreSigner(Signer):
8890
"""Sigstore signer.
8991
90-
NOTE: unstable API - routines and metadata formats may change!
92+
NOTE: The Sigstore key and signature serialization formats are not yet
93+
considered stable in securesystemslib. They may change in future releases
94+
and may not be supported by other implementations.
9195
9296
All signers should be instantiated with ``Signer.from_priv_key_uri()``.
9397
Unstable ``SigstoreSigner`` currently requires opt-in via
@@ -183,8 +187,8 @@ def import_(
183187
key should be stored for later use.
184188
185189
Arguments:
186-
identity: The OIDC identity used to create a signing token.
187-
issuer: The OIDC issuer URL used to create a signing token.
190+
identity: The OIDC identity to use when verifying a signature.
191+
issuer: The OIDC issuer to use when verifying a signature.
188192
ambient: Toggle usage of ambient credentials in returned URI.
189193
"""
190194
keytype = SigstoreKey.DEFAULT_KEY_TYPE

Diff for: securesystemslib/signer/_spx_signer.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@ def generate_spx_key_pair() -> Tuple[bytes, bytes]:
3838

3939

4040
class SpxKey(Key):
41-
"""SPHINCS+ verifier."""
41+
"""SPHINCS+ verifier.
42+
43+
NOTE: The SPHINCS+ key and signature serialization formats are not yet
44+
considered stable in securesystemslib. They may change in future releases
45+
and may not be supported by other implementations.
46+
"""
4247

4348
DEFAULT_KEY_TYPE = "sphincs"
4449
DEFAULT_SCHEME = "sphincs-shake-128s"
@@ -89,6 +94,10 @@ def verify_signature(self, signature: Signature, data: bytes) -> None:
8994
class SpxSigner(Signer):
9095
"""SPHINCS+ signer.
9196
97+
NOTE: The SPHINCS+ key and signature serialization formats are not yet
98+
considered stable in securesystemslib. They may change in future releases
99+
and may not be supported by other implementations.
100+
92101
Usage::
93102
94103
public_bytes, private_bytes = generate_spx_key_pair()

0 commit comments

Comments
 (0)