Seite 1 von 1

pinguino - SMC-B / HBA Pin ändern ohne Primärsystem

Verfasst: Montag 9. Juni 2025, 05:50
von CGM-FTW
Mir ist nun schon häufiger zu Ohren gekommen, dass ein echtes Manko darin besteht, dass der PIN einer SMC-B oder eines HBAs sich nicht ändern lässt, wenn kein Primärsystem vorhanden ist.

Ich habe ein Python Tool entwickelt, mit welchem man die SOAP Requests zum Konnektor senden kann, um eine Pin Änderung oder Freischaltung anzustoßen.

Das Programm ist freie Software und DVOs können es für ihre Kunden lizenzkostenfrei bereitstellen.
Wer Fragen an mich als Entwickler hat, Unterstützung bei der Einrichtung benötigt, eine kompilierte .exe-Datei wünscht, der kann gerne ein kostenpflichtiges Support-Paket für 250 € netto erwerben.
Er unterstützt damit auch die weitere Entwicklung von nützlichen Telematik Programmen.

Programm und Anleitung findet sich hier:
https://www.krause-computer.de/telemati ... maersystem


FAQ:
Hilfe, bei einem Doppelklick passiert nichts!
- Korrekt. Das Programm muss mit Parametern gefüttert werden. Entweder in einer Eingabeaufforderung oder via Batch-Datei. Darüber hinaus ist eine Python Umgebung erforderlich.

Wie übergebe ich das Clientsystem Zertifikat?
- Das Zertifikat muss im PEM Format vorliegen. Konvertieren z.B. mittels: openssl pkcs12 -in certificate.p12 -out certificate.pem -nodes -legacy


Besitzt das PIN Programm keine GUI?
- No!

Woher kommt der Name pinguino?
- Bitte die vorherige Frage noch einmal genau lesen!

Erhalte ich eine Gewährleistung?
- Ja. Sehr gerne. Mit kostenpflichtigem Support Paket hafte ich für korrekte Funktion im Rahmen der gesetzlichen Gewährleistung und Sie erhalten ebenfalls Aktualisierungen.

Re: pinguino - SMC-B / HBA Pin ändern ohne Primärsystem

Verfasst: Montag 9. Juni 2025, 08:57
von Lazarus
Ich habe den neuen SMC-B einfach in ein mobiles Orga Lesegerät gesteckt und nach Eingabe der Transport-PIN die PIN geändert.

Re: pinguino - SMC-B / HBA Pin ändern ohne Primärsystem

Verfasst: Montag 9. Juni 2025, 23:38
von FortiSecond
CGM-FTW hat geschrieben: Montag 9. Juni 2025, 05:50
Besitzt das PIN Programm keine GUI?
- No!

Woher kommt der Name pinguino?
- Bitte die vorherige Frage noch einmal genau lesen!
YMMD! :mrgreen:

Re: pinguino - SMC-B / HBA Pin ändern ohne Primärsystem

Verfasst: Mittwoch 11. Juni 2025, 17:57
von CGM-FTW
BTW: Hab mir heute erklären lassen, dass die URLs, zu denen man den SOAP Request schicken muss von Konnektorhersteller zu Hersteller variieren.
Die korrekten Pfade kann man in der connector.sds nachschlagen.
Hinterlegt sind die der KocoBox.

Da ich keinen anderen Konnektor zur Hand habe, kann ich das nicht generalisieren. Community muss aushelfen - oder Teststellung mit kostenpflichtiger Beauftragung. Aus naheliegenden Gründen brauche ich und die DVOs, mit denen ich Kontakt habe nur KocoBox. :-)

Re: pinguino - SMC-B / HBA Pin ändern ohne Primärsystem

Verfasst: Mittwoch 11. Juni 2025, 20:38
von FortiSecond
CGM-FTW hat geschrieben: Mittwoch 11. Juni 2025, 17:57 BTW: Hab mir heute erklären lassen, dass die URLs, zu denen man den SOAP Request schicken muss von Konnektorhersteller zu Hersteller variieren.
Die korrekten Pfade kann man in der connector.sds nachschlagen.
Hinterlegt sind die der KocoBox.

Da ich keinen anderen Konnektor zur Hand habe, kann ich das nicht generalisieren. Community muss aushelfen - oder Teststellung mit kostenpflichtiger Beauftragung. Aus naheliegenden Gründen brauche ich und die DVOs, mit denen ich Kontakt habe nur KocoBox. :-)
Secunet, aktuelle Version anbei :-)

Re: pinguino - SMC-B / HBA Pin ändern ohne Primärsystem

Verfasst: Donnerstag 12. Juni 2025, 06:04
von CGM-FTW
Wenn ich das richtig sehe:

Eventservice Koco: /service/systeminformationservice
Eventservice Secu: /ws/EventService

Cardservice Koco: /service/cardservice
Cardservice Secu: /ws/CardService

Man kann jetzt einen Parameter --konnektor secu übergeben. (ungetestet, bitte testen)
Aber die Rise Parameter fehlen mir noch.

Hat jemand die von einem Rise?

Re: pinguino - SMC-B / HBA Pin ändern ohne Primärsystem

Verfasst: Montag 26. Januar 2026, 16:28
von ebitdd
Hallo in die Runde,

ich habe mir das Skript geladen, angepasst und es mithilfe von PyInstaller in eine EXE konvertiert.

Neues Clientsystem im Infomodell angelegt, Zertifikat erzeugt (RSA3072) und in eine PEM konvertiert. Alles wie beschrieben.

Bekomme beim ausführen folgenden Fehler:
SSL-Fehler: HTTPSConnectionPool(host='10.29.36.4', port=443): Max retries exceeded with url: /service/systeminformationservice (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1028)')))

Im Einsatz ist:
KoCoBox 5.5.16
Konnektorzertifikat (ECC)
PyInstaller: 6.16.0, contrib hooks: 2025.9
Python: 3.13.3
Windows 11

Jemand eine Ahnung woran es liegen kann oder was ich falsch mache.

Danke
Beste Grüße
ebit

Update: Lösung gefunden!

Verfasst: Mittwoch 28. Januar 2026, 12:09
von ebitdd
Nach einigem Testen habe ich das Problem lösen können. Es waren tatsächlich zwei Sachen:
1. Cipher-Suites zu restriktiv
Python 3.13 verwendet standardmäßig sehr restriktive SSL-Einstellungen. Die KoCoBox erwartet aber ältere Cipher-Suites. Die Lösung ist, den Security-Level herabzusetzen:

Code: Alles auswählen

ctx.set_ciphers("DEFAULT:@SECLEVEL=0")
2. requests-Bibliothek macht Probleme
Selbst mit verify=False versucht requests das Server-Zertifikat zu validieren.Da die KoCoBox ein selbstsigniertes Zertifikat verwendet und die CA nicht im System hinterlegt ist, schlägt das fehl.

Die Lösung: Komplett auf requests verzichten und direkt mit socket + ssl arbeiten:

Code: Alles auswählen

import ssl
import socket

ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
ctx.load_cert_chain(certfile="Monitor.pem")
ctx.set_ciphers("DEFAULT:@SECLEVEL=0")

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("KONNEKTOR-IP", 443))
ssl_sock = ctx.wrap_socket(sock, server_hostname="KONNEKTOR-IP")
Damit klappt die Verbindung zur KoCoBox 5.5.16 problemlos.

Falls jemand das komplette überarbeitete Skript haben möchte, einfach melden.

Gruß
ebit