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
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|