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.
Files changed (120) hide show
  1. {mrok-0.2.0 → mrok-0.2.1}/PKG-INFO +2 -1
  2. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/pki.py +10 -5
  3. {mrok-0.2.0 → mrok-0.2.1}/pyproject.toml +2 -1
  4. {mrok-0.2.0 → mrok-0.2.1}/uv.lock +11 -0
  5. {mrok-0.2.0 → mrok-0.2.1}/.github/actions/setup-python-env/action.yml +0 -0
  6. {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/assets/turing_team_pr_bot.png +0 -0
  7. {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/notify-pr-closed.yaml +0 -0
  8. {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/notify-pr-reviewed.yml +0 -0
  9. {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/pr-build-merge.yaml +0 -0
  10. {mrok-0.2.0 → mrok-0.2.1}/.github/workflows/release.yml +0 -0
  11. {mrok-0.2.0 → mrok-0.2.1}/.gitignore +0 -0
  12. {mrok-0.2.0 → mrok-0.2.1}/.pre-commit-config.yaml +0 -0
  13. {mrok-0.2.0 → mrok-0.2.1}/.python-version +0 -0
  14. {mrok-0.2.0 → mrok-0.2.1}/LICENSE.txt +0 -0
  15. {mrok-0.2.0 → mrok-0.2.1}/README.md +0 -0
  16. {mrok-0.2.0 → mrok-0.2.1}/dev.Dockerfile +0 -0
  17. {mrok-0.2.0 → mrok-0.2.1}/docker-compose.yaml +0 -0
  18. {mrok-0.2.0 → mrok-0.2.1}/entrypoint.sh +0 -0
  19. {mrok-0.2.0 → mrok-0.2.1}/mrok/__init__.py +0 -0
  20. {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/__init__.py +0 -0
  21. {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/sidecar/__init__.py +0 -0
  22. {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/sidecar/app.py +0 -0
  23. {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/sidecar/main.py +0 -0
  24. {mrok-0.2.0 → mrok-0.2.1}/mrok/agent/ziticorn.py +0 -0
  25. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/__init__.py +0 -0
  26. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/__init__.py +0 -0
  27. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/__init__.py +0 -0
  28. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/bootstrap.py +0 -0
  29. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/list/__init__.py +0 -0
  30. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/list/extensions.py +0 -0
  31. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/list/instances.py +0 -0
  32. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/register/__init__.py +0 -0
  33. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/register/extensions.py +0 -0
  34. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/register/instances.py +0 -0
  35. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/unregister/__init__.py +0 -0
  36. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/unregister/extensions.py +0 -0
  37. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/unregister/instances.py +0 -0
  38. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/admin/utils.py +0 -0
  39. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/__init__.py +0 -0
  40. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/run/__init__.py +0 -0
  41. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/run/asgi.py +0 -0
  42. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/agent/run/sidecar.py +0 -0
  43. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/controller/__init__.py +0 -0
  44. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/controller/openapi.py +0 -0
  45. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/commands/controller/run.py +0 -0
  46. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/main.py +0 -0
  47. {mrok-0.2.0 → mrok-0.2.1}/mrok/cli/rich.py +0 -0
  48. {mrok-0.2.0 → mrok-0.2.1}/mrok/conf.py +0 -0
  49. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/__init__.py +0 -0
  50. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/app.py +0 -0
  51. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/auth.py +0 -0
  52. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/dependencies/__init__.py +0 -0
  53. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/dependencies/conf.py +0 -0
  54. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/dependencies/ziti.py +0 -0
  55. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/openapi/__init__.py +0 -0
  56. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/openapi/examples.py +0 -0
  57. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/openapi/utils.py +0 -0
  58. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/pagination.py +0 -0
  59. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/routes/__init__.py +0 -0
  60. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/routes/extensions.py +0 -0
  61. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/routes/instances.py +0 -0
  62. {mrok-0.2.0 → mrok-0.2.1}/mrok/controller/schemas.py +0 -0
  63. {mrok-0.2.0 → mrok-0.2.1}/mrok/errors.py +0 -0
  64. {mrok-0.2.0 → mrok-0.2.1}/mrok/http/__init__.py +0 -0
  65. {mrok-0.2.0 → mrok-0.2.1}/mrok/http/config.py +0 -0
  66. {mrok-0.2.0 → mrok-0.2.1}/mrok/http/forwarder.py +0 -0
  67. {mrok-0.2.0 → mrok-0.2.1}/mrok/http/lifespan.py +0 -0
  68. {mrok-0.2.0 → mrok-0.2.1}/mrok/http/master.py +0 -0
  69. {mrok-0.2.0 → mrok-0.2.1}/mrok/http/protocol.py +0 -0
  70. {mrok-0.2.0 → mrok-0.2.1}/mrok/http/server.py +0 -0
  71. {mrok-0.2.0 → mrok-0.2.1}/mrok/logging.py +0 -0
  72. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/__init__.py +0 -0
  73. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/api.py +0 -0
  74. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/bootstrap.py +0 -0
  75. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/constants.py +0 -0
  76. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/errors.py +0 -0
  77. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/identities.py +0 -0
  78. {mrok-0.2.0 → mrok-0.2.1}/mrok/ziti/services.py +0 -0
  79. {mrok-0.2.0 → mrok-0.2.1}/prod.Dockerfile +0 -0
  80. {mrok-0.2.0 → mrok-0.2.1}/scripts/ziti.sh +0 -0
  81. {mrok-0.2.0 → mrok-0.2.1}/settings.yaml +0 -0
  82. {mrok-0.2.0 → mrok-0.2.1}/sonar-project.properties +0 -0
  83. {mrok-0.2.0 → mrok-0.2.1}/tests/__init__.py +0 -0
  84. {mrok-0.2.0 → mrok-0.2.1}/tests/agent/__init__.py +0 -0
  85. {mrok-0.2.0 → mrok-0.2.1}/tests/agent/sidecar/__init__.py +0 -0
  86. {mrok-0.2.0 → mrok-0.2.1}/tests/agent/sidecar/test_app.py +0 -0
  87. {mrok-0.2.0 → mrok-0.2.1}/tests/agent/sidecar/test_main.py +0 -0
  88. {mrok-0.2.0 → mrok-0.2.1}/tests/agent/test_ziticorn.py +0 -0
  89. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/__init__.py +0 -0
  90. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/__init__.py +0 -0
  91. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_bootstrap.py +0 -0
  92. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_list.py +0 -0
  93. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_register.py +0 -0
  94. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_unregister.py +0 -0
  95. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/admin/test_utils.py +0 -0
  96. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/agent/__init__.py +0 -0
  97. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/agent/test_run.py +0 -0
  98. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/controller/__init__.py +0 -0
  99. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/controller/test_openapi.py +0 -0
  100. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/controller/test_run.py +0 -0
  101. {mrok-0.2.0 → mrok-0.2.1}/tests/cli/test_main.py +0 -0
  102. {mrok-0.2.0 → mrok-0.2.1}/tests/conftest.py +0 -0
  103. {mrok-0.2.0 → mrok-0.2.1}/tests/controller/__init__.py +0 -0
  104. {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_auth.py +0 -0
  105. {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_extensions.py +0 -0
  106. {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_instances.py +0 -0
  107. {mrok-0.2.0 → mrok-0.2.1}/tests/controller/test_openapi.py +0 -0
  108. {mrok-0.2.0 → mrok-0.2.1}/tests/http/__init__.py +0 -0
  109. {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_config.py +0 -0
  110. {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_forwarder.py +0 -0
  111. {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_lifespan.py +0 -0
  112. {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_master.py +0 -0
  113. {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_protocol.py +0 -0
  114. {mrok-0.2.0 → mrok-0.2.1}/tests/http/test_server.py +0 -0
  115. {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/__init__.py +0 -0
  116. {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_api.py +0 -0
  117. {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_bootstrap.py +0 -0
  118. {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_identities.py +0 -0
  119. {mrok-0.2.0 → mrok-0.2.1}/tests/ziti/test_pki.py +0 -0
  120. {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.0
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
- pkcs7_certs = load_der_pkcs7_certificates(pkcs7_bytes)
19
+
20
+ content_info = cms.ContentInfo.load(pkcs7_bytes)
21
+ certs = content_info["content"]["certificates"]
22
+
20
23
  ca_certificates = []
21
- for cert in pkcs7_certs:
22
- cert_pem = cert.public_bytes(serialization.Encoding.PEM)
23
- ca_certificates.append(cert_pem.decode("utf-8"))
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.0"
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