Zertifikate aus dem Traefik-Zertifikatsspeicher exportieren

English Deutsch

Traefik speichert Zertifikate als base64-kodierte X.509-Zertifikate und Schlüssel im Zertifikatsspeicher.

Dies ist ein Python-Skript zum Exportieren von Zertifikaten aus der Traefik-Zertifikatsspeicher-.json-Datei:

traefik_export.py
import json
import base64

# Read Traefik ACME JSON
with open("acme.json") as acme_file:
    acme = json.load(acme_file)

# Select certificates from a specific resolver
resolver_name = "my-resolver"
certificates = acme[resolver_name]["Certificates"]

# Find the specific certificate we are looking for
certificate = [certificate for certificate in certificates if "myddomain.com" in certificate["domain"].get("sans", [])][0]

# Extract X.509 certificate data
certificate_data = base64.b64decode(certificate["certificate"])
key_data = base64.b64decode(certificate["key"])

# Export certificate and key to file
with open("certificate.pem", "wb") as certfile:
    certfile.write(certificate_data)

with open("key.pem", "wb") as keyfile:
    keyfile.write(key_data)

Beachten, dass je nachdem, was der primäre Name für das Zertifikat ist, möglicherweise

traefik_cert_select_example.py
if "myddomain.com" == certificate["domain"]["main"]

anstelle von

traefik_cert_sans_check.py
if "myddomain.com" in certificate["domain"].get("sans", [])

verwendet werden muss.


Check out similar posts by category: Python, Traefik