Nicht für Produktionsumgebungen geeignet! Nur für lokale Tests.
- Docker Image erstellen
- Keystore-Datei erstellen
- Docker Container starten (Hostport: 8080)
3.1 Das Programm läuft unter http://localhost:8080/ - Keystore-Datei auswählen, Passwörter und Alias eingeben, und anschließend die digitale Signatur auswählen

- Ticket ausfüllen

- Public Key des Controllers eingeben

- Das verschlüsselte Ticket wird in 'Result' angezeigt
7.1 Mit dem Button 'Refresh' wird das Ticket erneut vom Server generiert. Dies ist besonders hilfreich, wenn ein erstelltes Ticket bereits abgelaufen ist.
7.2 Das Ticket kann durch Eingabe einer URL und anschließendes Klicken auf 'Send' versendet werden. Wichtig: Die URL muss mit „https://“ beginnen.
Hinweis:
- "Accepted" bedeutet, dass die Eingabe vom Server erfolgreich akzeptiert wurde
- "Rejected" bedeutet, dass die Eingabe vom Server abgelehnt wurde
- Keystore und Public Key werden vom Server validiert
- Daten des Tickets werden vom Server nicht validiert
docker build -t <IMAGE_NAME> .docker run --name <CONTAINER_NAME> -p 8080:8080 -d <IMAGE_NAME>Alternativ: Start über Docker/Rancher Desktop.
Hostport: 8080
Die Keystore-Datei, Keystore Alias und die Passwörter müssen beim Controller hinterlegt sein!
keytool -genkeypair -keystore KEYSTORENAME -storetype JKS -alias KEYSTOREALIAS -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -validity 365- genkeypair → Erstellt Schlüsselpaar (privater & öffentlicher Schlüssel)
- keystore → Name der Keystore-Datei
- storetype → Dateiformat (JKS)
- alias → Name des Schlüsselpaars
- keyalg → Verschlüsselungsalgorithmus (nur RSA)
- keysize → Schlüsselgröße (mindestens 2048)
- sigalg → Signatur Algorithmus (SHA256withRSA)
- validity → Gültigkeitszeitraum des Zertifikats in Tagen (Bspw. 365)
Passwort der Keystore-Datei festelegen
Keystore-Kennwort eingeben:
Neues Kennwort erneut eingeben:Anschließend muss das Zertifikat ausgefüllt werden. Die angegebenen Daten haben keinen Einfluss auf das Endergebnis.
Geben Sie den Distinguished Name ein. Geben Sie einen einzelnen Punkt (.) an, um eine Unterkomponente leer zu lassen, oder drücken Sie die Eingabetaste, um den Standardwert in Klammern zu verwenden.
- Wie lautet Ihr Vor- und Nachname?
[Unknown]: [OPTIONAL]
- Wie lautet der Name Ihrer organisatorischen Einheit?
[Unknown]: [OPTIONAL]
- Wie lautet der Name Ihrer Organisation?
[Unknown]: [OPTIONAL]
- Wie lautet der Name Ihrer Stadt oder Gemeinde?
[Unknown]: [OPTIONAL]
- Wie lautet der Name Ihres Bundeslands?
[Unknown]: [OPTIONAL]
- Wie lautet der Ländercode (zwei Buchstaben) für diese Einheit?
[Unknown]: [OPTIONAL]
-Ist CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX, C=XXX richtig?
[Nein]: - Mit 'ja' bestätigen -Passwort für das Schlüsselpaar (Alias) festlegen. Leer lassen, falls das Passwort für die Keystore-Datei und das Passwort für den Keystore-Alias identisch sein sollen.
Schlüsselkennwort für <ALIAS> eingeben
(RETURN, wenn identisch mit Keystore-Kennwort):cd vdg-ticket-frontend
npm install
npm run devcd vdg-ticket-backend
mvn quarkus:devcd vdg-ticket-backend
mvn quarkus:test<?xml version="1.0" encoding="UTF-8" ?>
<Ticket>
<TicketInfo>
<TicketId>USER_INPUT</TicketId>
<TargetId>USER_INPUT</TargetId>
<TargetUserId>USER_INPUT</TargetUserId>
<IssuerUserId>USER_INPUT</IssuerUserId>
<UserIPAddress>USER_INPUT</UserIPAddress>
<AuthLevel>USER_INPUT</AuthLevel>
<AuthMethod>USER_INPUT</AuthMethod>
<AuthTimestamp>SET_BY_SYSTEM</AuthTimestamp>
<IssuerId>USER_INPUT</IssuerId>
<IssueTimestamp>SET_BY_SYSTEM</IssueTimestamp>
</TicketInfo>
<Signature>
<SignatureValue>HASHWERT_TICKETINFO</SignatureValue>
<SignatureAlgorithm>SIGNATURE_ALGORITHM</SignatureAlgorithm>
<KeyInfo>
<KeyId>KEYSTORE_ALIAS</KeyId>
</KeyInfo>
</Signature>
</Ticket>