mrok 0.2.0__tar.gz → 0.2.1__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.
- {mrok-0.2.0 → mrok-0.2.1}/PKG-INFO +2 -1
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/pki.py +10 -5
- {mrok-0.2.0 → mrok-0.2.1}/pyproject.toml +2 -1
- {mrok-0.2.0 → mrok-0.2.1}/uv.lock +11 -0
- {mrok-0.2.0 → mrok-0.2.1}/.github/actions/setup-python-env/action.yml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/assets/turing_team_pr_bot.png +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/notify-pr-closed.yaml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/notify-pr-reviewed.yml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/pr-build-merge.yaml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/release.yml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.gitignore +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.pre-commit-config.yaml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/.python-version +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/LICENSE.txt +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/README.md +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/dev.Dockerfile +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/docker-compose.yaml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/entrypoint.sh +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/sidecar/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/sidecar/app.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/sidecar/main.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/ziticorn.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/bootstrap.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/list/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/list/extensions.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/list/instances.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/register/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/register/extensions.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/register/instances.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/unregister/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/unregister/extensions.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/unregister/instances.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/utils.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/run/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/run/asgi.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/run/sidecar.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/controller/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/controller/openapi.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/controller/run.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/main.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/rich.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/conf.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/app.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/auth.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/dependencies/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/dependencies/conf.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/dependencies/ziti.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/openapi/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/openapi/examples.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/openapi/utils.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/pagination.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/routes/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/routes/extensions.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/routes/instances.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/schemas.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/errors.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/http/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/http/config.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/http/forwarder.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/http/lifespan.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/http/master.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/http/protocol.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/http/server.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/logging.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/api.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/bootstrap.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/constants.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/errors.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/identities.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/services.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/prod.Dockerfile +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/scripts/ziti.sh +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/settings.yaml +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/sonar-project.properties +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/agent/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/agent/sidecar/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/agent/sidecar/test_app.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/agent/sidecar/test_main.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/agent/test_ziticorn.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_bootstrap.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_list.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_register.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_unregister.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_utils.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/agent/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/agent/test_run.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/controller/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/controller/test_openapi.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/controller/test_run.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/cli/test_main.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/conftest.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/controller/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_auth.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_extensions.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_instances.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_openapi.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/http/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_config.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_forwarder.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_lifespan.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_master.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_protocol.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_server.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/__init__.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_api.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_bootstrap.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_identities.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_pki.py +0 -0
- {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_services.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mrok
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: MPT Extensions OpenZiti Orchestrator
|
|
5
5
|
Author: SoftwareOne AG
|
|
6
6
|
License: Apache License
|
|
@@ -206,6 +206,7 @@ License: Apache License
|
|
|
206
206
|
limitations under the License.
|
|
207
207
|
License-File: LICENSE.txt
|
|
208
208
|
Requires-Python: <4,>=3.12
|
|
209
|
+
Requires-Dist: asn1crypto<2.0.0,>=1.5.1
|
|
209
210
|
Requires-Dist: cryptography<46.0.0,>=45.0.7
|
|
210
211
|
Requires-Dist: dynaconf<4.0.0,>=3.2.11
|
|
211
212
|
Requires-Dist: fastapi-pagination<0.15.0,>=0.14.1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import base64
|
|
2
2
|
|
|
3
|
+
from asn1crypto import cms
|
|
3
4
|
from cryptography import x509
|
|
4
5
|
from cryptography.hazmat.primitives import hashes, serialization
|
|
5
6
|
from cryptography.hazmat.primitives.asymmetric import rsa
|
|
6
|
-
from cryptography.hazmat.primitives.serialization.pkcs7 import load_der_pkcs7_certificates
|
|
7
7
|
from cryptography.x509.oid import NameOID
|
|
8
8
|
|
|
9
9
|
from mrok.ziti.api import ZitiManagementAPI
|
|
@@ -16,11 +16,16 @@ async def get_ca_certificates(mgmt_api: ZitiManagementAPI) -> str:
|
|
|
16
16
|
if not _ca_certificates:
|
|
17
17
|
cas_pkcs7 = await mgmt_api.fetch_ca_certificates()
|
|
18
18
|
pkcs7_bytes = base64.b64decode(cas_pkcs7)
|
|
19
|
-
|
|
19
|
+
|
|
20
|
+
content_info = cms.ContentInfo.load(pkcs7_bytes)
|
|
21
|
+
certs = content_info["content"]["certificates"]
|
|
22
|
+
|
|
20
23
|
ca_certificates = []
|
|
21
|
-
for cert in
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
for cert in certs:
|
|
25
|
+
crypt_cert = x509.load_der_x509_certificate(cert.dump())
|
|
26
|
+
pem = crypt_cert.public_bytes(serialization.Encoding.PEM).decode("utf-8")
|
|
27
|
+
ca_certificates.append(pem)
|
|
28
|
+
|
|
24
29
|
_ca_certificates = "\n".join(ca_certificates)
|
|
25
30
|
return _ca_certificates
|
|
26
31
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mrok"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.1"
|
|
4
4
|
description = "MPT Extensions OpenZiti Orchestrator"
|
|
5
5
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
6
6
|
authors = [
|
|
@@ -9,6 +9,7 @@ authors = [
|
|
|
9
9
|
license = { file = "LICENSE.txt" }
|
|
10
10
|
requires-python = ">=3.12,<4"
|
|
11
11
|
dependencies = [
|
|
12
|
+
"asn1crypto>=1.5.1,<2.0.0",
|
|
12
13
|
"cryptography>=45.0.7,<46.0.0",
|
|
13
14
|
"dynaconf>=3.2.11,<4.0.0",
|
|
14
15
|
"fastapi-pagination>=0.14.1,<0.15.0",
|
|
@@ -37,6 +37,15 @@ wheels = [
|
|
|
37
37
|
{ url = "https://files.pythonhosted.org/packages/2f/f5/c36551e93acba41a59939ae6a0fb77ddb3f2e8e8caa716410c65f7341f72/asgi_lifespan-2.1.0-py3-none-any.whl", hash = "sha256:ed840706680e28428c01e14afb3875d7d76d3206f3d5b2f2294e059b5c23804f", size = 10895, upload-time = "2023-03-28T17:35:47.772Z" },
|
|
38
38
|
]
|
|
39
39
|
|
|
40
|
+
[[package]]
|
|
41
|
+
name = "asn1crypto"
|
|
42
|
+
version = "1.5.1"
|
|
43
|
+
source = { registry = "https://pypi.org/simple" }
|
|
44
|
+
sdist = { url = "https://files.pythonhosted.org/packages/de/cf/d547feed25b5244fcb9392e288ff9fdc3280b10260362fc45d37a798a6ee/asn1crypto-1.5.1.tar.gz", hash = "sha256:13ae38502be632115abf8a24cbe5f4da52e3b5231990aff31123c805306ccb9c", size = 121080, upload-time = "2022-03-15T14:46:52.889Z" }
|
|
45
|
+
wheels = [
|
|
46
|
+
{ url = "https://files.pythonhosted.org/packages/c9/7f/09065fd9e27da0eda08b4d6897f1c13535066174cc023af248fc2a8d5e5a/asn1crypto-1.5.1-py2.py3-none-any.whl", hash = "sha256:db4e40728b728508912cbb3d44f19ce188f218e9eba635821bb4b68564f8fd67", size = 105045, upload-time = "2022-03-15T14:46:51.055Z" },
|
|
47
|
+
]
|
|
48
|
+
|
|
40
49
|
[[package]]
|
|
41
50
|
name = "asttokens"
|
|
42
51
|
version = "3.0.0"
|
|
@@ -672,6 +681,7 @@ name = "mrok"
|
|
|
672
681
|
version = "0.0.0.dev0"
|
|
673
682
|
source = { editable = "." }
|
|
674
683
|
dependencies = [
|
|
684
|
+
{ name = "asn1crypto" },
|
|
675
685
|
{ name = "cryptography" },
|
|
676
686
|
{ name = "dynaconf" },
|
|
677
687
|
{ name = "fastapi", extra = ["standard"] },
|
|
@@ -708,6 +718,7 @@ dev = [
|
|
|
708
718
|
|
|
709
719
|
[package.metadata]
|
|
710
720
|
requires-dist = [
|
|
721
|
+
{ name = "asn1crypto", specifier = ">=1.5.1,<2.0.0" },
|
|
711
722
|
{ name = "cryptography", specifier = ">=45.0.7,<46.0.0" },
|
|
712
723
|
{ name = "dynaconf", specifier = ">=3.2.11,<4.0.0" },
|
|
713
724
|
{ name = "fastapi", extras = ["standard"], specifier = ">=0.119.0,<0.120.0" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|