Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. admin Adapter funktioniert nicht sobald anderes Zertifikat

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

admin Adapter funktioniert nicht sobald anderes Zertifikat

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
1 Beiträge 1 Kommentatoren 104 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • remiinDR Offline
    remiinDR Offline
    remiinD
    schrieb am zuletzt editiert von remiinD
    #1

    Hallo zusammen,

    Sobald ich ein selbst signiertes Zertifikat und dessen Key im Admin Adapter einspiele, crashed die Admin Instanz und kommt nicht mehr hoch. Muss dann die Admin Instanz löschen und neu hinzufpgen via CLI.

    Im Log steht folgendes:

    2022-04-13 22:27:06.176  - ^[[32minfo^[[39m: host.iobroker instance system.adapter.admin.0 started with pid 16925
    2022-04-13 22:27:07.931  - ^[[32minfo^[[39m: admin.0 (16925) starting. Version 5.3.4 in /opt/iobroker/node_modules/iobroker.admin, node: v12.22.12, js-controller: 4.0.21
    2022-04-13 22:27:07.984  - ^[[32minfo^[[39m: admin.0 (16925) requesting all states
    2022-04-13 22:27:07.985  - ^[[32minfo^[[39m: admin.0 (16925) requesting all objects
    2022-04-13 22:27:08.404  - ^[[32minfo^[[39m: admin.0 (16925) received all objects
    2022-04-13 22:27:08.575  - ^[[32minfo^[[39m: admin.0 (16925) http server listening on port 8081
    2022-04-13 22:27:08.576  - ^[[32minfo^[[39m: admin.0 (16925) Use link "http://localhost:8081" to configure.
    
    

    nach dem Versuch einen manuellen neustarts über iobroker restart/start admin.0 kommt folgendes:

    2022-04-13 22:35:43.870  - ^[[32minfo^[[39m: admin.0 (17307) starting. Version 5.3.4 in /opt/iobroker/node_modules/iobroker.admin, node: v12.22.12, js-controller: 4.0.21
    2022-04-13 22:35:43.990  - ^[[32minfo^[[39m: admin.0 (17307) requesting all states
    2022-04-13 22:35:43.991  - ^[[32minfo^[[39m: admin.0 (17307) requesting all objects
    2022-04-13 22:35:44.451  - ^[[32minfo^[[39m: admin.0 (17307) received all objects
    2022-04-13 22:35:44.580  - ^[[31merror^[[39m: admin.0 (17307) Cannot create web-server: Error: error:0909006C:PEM routines:get_name:no start line
    2022-04-13 22:35:44.582  - ^[[32minfo^[[39m: admin.0 (17307) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
    2022-04-13 22:35:45.098  - ^[[32minfo^[[39m: admin.0 (17307) terminating https server on port 8081
    2022-04-13 22:35:45.133  - ^[[31merror^[[39m: host.iobroker instance system.adapter.admin.0 terminated by request of the instance itself and will not be restarted, before user restarts it.
    2022-04-13 22:35:45.134  - ^[[32minfo^[[39m: host.iobroker Do not restart adapter system.adapter.admin.0 because desired by instance
    

    Habe das Zertifikat auf einer Linux Maschine per openssl erstellt.

    Hierzu habe ich folgenden Guide befolgt:


    Privater Schlüssel und CSR erstellen
    Für jede Zertifikatsanforderung müssen zunächst ein privater Schlüssel und ein CSR erstellt werden. Das geht am einfachsten, in dem pro Domain zunächst eine Konfigurationsdatei mit den notwendigen Daten erstellt wird.

    Als Domainname verwende ich in den Beispielen test.example.private.

    Die Konfigurationsdatei sieht dann wie folgt aus:

    [req]  
    default_bits = 2048   
    prompt = no  
    default_md = sha256 
    distinguished_name = dn
    [dn]
    C=DE
    ST=NRW
    L=MeinOrt
    O=MeinName
    emailAddress=webmaster@example.private
    CN = test.example.private
    

    Der gewünschte Domainname steht in der letzten Zeile. Für eine andere Domain muss nur diese Zeile angepasst werden.

    Ich würde aber auch für die anderen Werte im Bereich [dn] passende Werte eintragen.

    Ich habe die Konfigurationsdatei unter dem Dateinamen test.example.csr.cnf gespeichert.

    Der CSR und der private Schlüssel werden dann mit diesem Befehl erstellt:

    openssl req -new -sha256 -nodes \    
                -out test.example.csr \    
                -newkey rsa:2048 -keyout test.example.key \    
                -config test.example.csr.cnf
    

    Der private Schlüssel wird in der Datei test.example.key abgelegt. Er wird später auch für die Konfiguration des (Web)Servers benötigt.

    Der CSR befindet sich in der Datei test.example.csr. Für die Erzeugung des Zertifikats wird nur der CSR benötigt.

    Server-Zertifikat erstellen
    Für die Erstellung des Server-Zertifikats wird zunächst eine weitere Konfigurationsdatei erstellt:

    authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = test.example.private
    

    Auch hier muss für andere Domains nur jeweils die letzte Zeile angepasst werden. Der Eintrag in dieser Zeile muss unbedingt exakt dem Eintrag CN in der Konfigurationsdatei für die CSR-Erstellung entsprechen.

    Die Konfigurationsdatei habe ich unter dem Namen test.example.ext.cnf gespeichert. Neben dieser Konfigurationsdatei und der CSR-Datei werden auch das Zertifikat und der private Schlüssel der CA benötigt.

    Die Erstellung des Zertifikats erfolgt mit dem folgenden Befehl:

    openssl x509 -req -in test.example.csr \  
                 -CA myRoot.crt -CAkey myRoot.key -CAcreateserial \  
                 -extfile test.example.ext.cnf \  
                 -out test.example.crt -days 3650 -sha256
    

    Das neu erzeugte Zertifikat ist in diesem Bespiel 10 Jahre (= 3650 Tage) gültig und wird in der Datei test.example.crt gespeichert. Der Inhalt des Zertifikats kann durch Aufruf des Befehls

    openssl x509 -in test.example.crt -text -noout
    

    überprüft werden. Wichtig sind die folgenden Einträge:

    X509v3 extensions:
        ...
        X509v3 Subject Alternative Name:
            DNS:test.example.private
    

    Es müssen unbedingt die “X509v3 extension” vorhanden sein und der “Subject Alternative Name” muss dem Domainnamen entsprechen.

    Vielleicht hat ja jemand ne Idee.
    Hatte auch schon den Gedanken, dass ich hier einen Fehler eingebaut habe, aber habe es 3 mal durchgeführt ohne Erfolg.

    Gruß

    Daniel

    1 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate
    FAQ Cloud / IOT
    HowTo: Node.js-Update
    HowTo: Backup/Restore
    Downloads
    BLOG

    461

    Online

    32.4k

    Benutzer

    81.6k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe