tba-bases-certificate 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,20 @@
1
+ Metadata-Version: 2.4
2
+ Name: tba-bases-certificate
3
+ Version: 0.4.0.dev2
4
+ Summary: Reusable certificate service and path-validation 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-bases-protected-artifact (==0.4.0.dev2)
14
+ Requires-Dist: tba-contracts-security-trust (==0.1.0)
15
+ Description-Content-Type: text/markdown
16
+
17
+ # tba-bases-certificate
18
+
19
+ Reusable certificate issuance, parsing, verification, and path-validation behavior.
20
+
@@ -0,0 +1,3 @@
1
+ # tba-bases-certificate
2
+
3
+ Reusable certificate issuance, parsing, verification, and path-validation behavior.
@@ -0,0 +1,16 @@
1
+ [project]
2
+ name = "tba-bases-certificate"
3
+ version = "0.4.0.dev2"
4
+ description = "Reusable certificate service and path-validation bases."
5
+ readme = "README.md"
6
+ requires-python = ">=3.10,<3.15"
7
+ license = "Apache-2.0"
8
+ dependencies = [
9
+ "tba-bases-protected-artifact==0.4.0.dev2",
10
+ "tba-contracts-security-trust==0.1.0",
11
+ ]
12
+ [build-system]
13
+ requires = ["poetry-core>=1.0.0"]
14
+ build-backend = "poetry.core.masonry.api"
15
+ [tool.poetry]
16
+ packages = [{ include = "tba_bases_certificate", from = "src" }]
@@ -0,0 +1,56 @@
1
+ """Reusable certificate bases."""
2
+
3
+ from abc import ABC
4
+
5
+ from tba_bases_protected_artifact import (
6
+ ProtectedArtifactVerifierBase,
7
+ SecurityArtifactCodecBase,
8
+ SecurityArtifactIssuerBase,
9
+ )
10
+ from tba_contracts_security_trust import (
11
+ CertificatePathValidationRequest,
12
+ CertificatePathValidationResult,
13
+ CertificatePathValidatorPort,
14
+ CertificateRequest,
15
+ CertificateVerifyRequest,
16
+ ICapabilityProvider,
17
+ ParseRequest,
18
+ ParsedArtifact,
19
+ VerificationResult,
20
+ )
21
+
22
+
23
+ class CertificateServiceBase(
24
+ ICapabilityProvider,
25
+ SecurityArtifactIssuerBase,
26
+ ProtectedArtifactVerifierBase,
27
+ SecurityArtifactCodecBase,
28
+ ABC,
29
+ ):
30
+ async def create_csr(self, request: CertificateRequest):
31
+ raise NotImplementedError
32
+
33
+ async def issue_certificate(self, request: CertificateRequest):
34
+ raise NotImplementedError
35
+
36
+ async def verify_certificate(self, request: CertificateVerifyRequest) -> VerificationResult:
37
+ raise NotImplementedError
38
+
39
+ async def parse_certificate(self, request: ParseRequest) -> ParsedArtifact:
40
+ raise NotImplementedError
41
+
42
+
43
+ class CertificatePathValidatorBase(CertificatePathValidatorPort, ABC):
44
+ def validate(self, request: CertificatePathValidationRequest, /) -> CertificatePathValidationResult:
45
+ raise NotImplementedError
46
+
47
+
48
+ CertificateServiceDomainBase = CertificateServiceBase
49
+ CertificateDomainBase = CertificateServiceBase
50
+
51
+ __all__ = [
52
+ "CertificateDomainBase",
53
+ "CertificatePathValidatorBase",
54
+ "CertificateServiceBase",
55
+ "CertificateServiceDomainBase",
56
+ ]