tba-bases-protected-artifact 0.4.0.dev2__tar.gz

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.
@@ -0,0 +1,13 @@
1
+ Metadata-Version: 2.4
2
+ Name: tba-bases-protected-artifact
3
+ Version: 0.4.0.dev2
4
+ Summary: Protocol-neutral protected security artifact bases.
5
+ License-Expression: Apache-2.0
6
+ Requires-Python: >=3.10,<3.15
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.10
9
+ Classifier: Programming Language :: Python :: 3.11
10
+ Classifier: Programming Language :: Python :: 3.12
11
+ Classifier: Programming Language :: Python :: 3.13
12
+ Classifier: Programming Language :: Python :: 3.14
13
+ Requires-Dist: tba-contracts-security-trust (==0.1.0)
@@ -0,0 +1,14 @@
1
+ [project]
2
+ name = "tba-bases-protected-artifact"
3
+ version = "0.4.0.dev2"
4
+ description = "Protocol-neutral protected security artifact bases."
5
+ requires-python = ">=3.10,<3.15"
6
+ license = "Apache-2.0"
7
+ dependencies = ["tba-contracts-security-trust==0.1.0"]
8
+
9
+ [build-system]
10
+ requires = ["poetry-core>=1.0.0"]
11
+ build-backend = "poetry.core.masonry.api"
12
+
13
+ [tool.poetry]
14
+ packages = [{ include = "tba_bases_protected_artifact", from = "src" }]
@@ -0,0 +1,58 @@
1
+ """Protocol-neutral bases for protected artifact behavior."""
2
+
3
+ from abc import ABC
4
+
5
+ from tba_contracts_security_trust import (
6
+ Artifact,
7
+ CanonicalizeRequest,
8
+ IArtifactCodec,
9
+ IArtifactIssuer,
10
+ IArtifactOpener,
11
+ IArtifactVerifier,
12
+ IRecipientSetEditor,
13
+ IssueRequest,
14
+ OpenRequest,
15
+ OpenResult,
16
+ ParsedArtifact,
17
+ ParseRequest,
18
+ RewrapRequest,
19
+ VerificationResult,
20
+ VerifyRequest,
21
+ )
22
+
23
+
24
+ class SecurityArtifactCodecBase(IArtifactCodec, ABC):
25
+ async def parse(self, request: ParseRequest) -> ParsedArtifact:
26
+ raise NotImplementedError
27
+
28
+ async def canonicalize(self, request: CanonicalizeRequest) -> bytes:
29
+ raise NotImplementedError
30
+
31
+
32
+ class SecurityArtifactIssuerBase(IArtifactIssuer, ABC):
33
+ async def issue(self, request: IssueRequest) -> Artifact:
34
+ raise NotImplementedError
35
+
36
+
37
+ class ProtectedArtifactVerifierBase(IArtifactVerifier, ABC):
38
+ async def verify(self, request: VerifyRequest) -> VerificationResult:
39
+ raise NotImplementedError
40
+
41
+
42
+ class ProtectedArtifactOpenerBase(IArtifactOpener, ABC):
43
+ async def open(self, request: OpenRequest) -> OpenResult:
44
+ raise NotImplementedError
45
+
46
+
47
+ class RecipientSetEditorBase(IRecipientSetEditor, ABC):
48
+ async def rewrap(self, request: RewrapRequest) -> Artifact:
49
+ raise NotImplementedError
50
+
51
+
52
+ __all__ = [
53
+ "ProtectedArtifactOpenerBase",
54
+ "ProtectedArtifactVerifierBase",
55
+ "RecipientSetEditorBase",
56
+ "SecurityArtifactCodecBase",
57
+ "SecurityArtifactIssuerBase",
58
+ ]