C_12405_Anlage_V1.0.0


C_12405_Anlage

Inhaltsverzeichnis

1 Änderung in gemSpec_Kon

TIP1-A_4699-06 wird durch TIP1-A_4699-07 ersetzt:

TIP1-A_4699-07 - Operation CheckCertificateExpiration

Die Basisanwendung Zertifikatsdienst des Konnektors MUSS an der Clientschnittstelle eine Operation CheckCertificateExpiration anbieten.


Tabelle 1: TAB_KON_676 Operation CheckCertificateExpiration

Name
CheckCertificateExpiration
Beschreibung
Gibt das Datum des Ablaufs eines bestimmten Zertifikats oder gesammelt des Zertifikats der gSMC-K, der gSMC-KT's sowie aller gesteckten HBAx und SM-B des Mandanten zurück.
Aufruf-parameter


Name
Beschreibung
CardHandle
Optional. Identifiziert die Karte, deren Zertifikate geprüft werden sollen. Wird der Parameter nicht angegeben, so werden alle für den Konnektor erreichbaren Karten (inkl. gSMC-K und aller gSMC-KT's), die zum Mandanten passen, berücksichtigt.
Die Operation CheckCertificateExpiration DARF das Lesen von Zertifikaten der eGK NICHT unterstützen.
Context
MandantId, CsId, WorkplaceId verpflichtend; UserId optional
Crypt Optional;
Default bei Aufruf ohne CardHandle: Crypt=ECC
Default bei Aufruf mit CardHandle:
  • Für eine Karte ab der Generation G2.1 setze den Defaultwert Crypt=ECC.
  • Für eine Karte der Generation G2.0 setze den Defaultwert Crypt=RSA.
Gibt den kryptopraphischen Algorithmus vor, für den das Zertifikat ermittelt werden soll.
Wertebereich: RSA, ECC
  • RSA: Zertifikat für RSA-2048
  • ECC: Zertifikat für ECC-256
Rückgabe


Status
Enthält den Ausführungsstatus der Operation.
CertificateExpiration
Eine Liste von Tupeln aus (CtID, CardHandle, ICCSN, subject.CommonName, serialNumber, validity) der Zertifikate der Karten.
Für die gSMC-K soll in CertificateExpiration/CtID und CertificateExpiration/CardHandle jeweils ein Leerstring zurückgegeben werden.
Vorbe-dingungen
Keine
Nachbe-dingungen
Keine
Der Ablauf der Operation CheckCertificateExpiration ist in Tabelle TAB_KON_677 beschrieben:

Tabelle 2: TAB_KON_677 Ablauf CheckCertificateExpiration

Nr.
Aufruf Technischer Use Case oder Interne Operation
Beschreibung
1.


checkArguments
Die übergebenen Werte werden auf Konsistenz und Gültigkeit überprüft. Treten hierbei Fehler auf, so bricht die Operation mit Fehler 4000 ab. Wird die Operation für einen nicht unterstützten Kartentypen aufgerufen, so bricht die Operation mit Fehler 4058 ab.
2.


TUC_KON_000 „Prüfe Zugriffsberechtigung“
Die Prüfung erfolgt durch den Aufruf
TUC_KON_000 {
    mandantId = $context.mandantId;
    clientSystemId = $context.clientsystemId;
    workplaceId  = $context.workplaceId;
    userId = $context.userId;
    cardHandle = $cardHandle;
    
needCardSession = false wenn cardHandle nicht angegeben, ansonsten true;
    allWorkplaces=true,
wenn cardHandle nicht angegeben, ansonsten false
}

Tritt bei der Prüfung ein Fehler auf, bricht die Operation mit Fehlercode aus TUC_KON_000 ab.
3.


enumerateCardHandles
Wenn der Parameter CardHandle$cardHandle übergeben wurde, wird dieser als einziges Element in eine Liste gepackt.
Wenn der Parameter CardHandle$cardHandle leer war, wird eine Liste der CardHandles aller für den Konnektor erreichbaren Karten (inkl. gSMC-K und gSMC-KT's), die zum Mandanten nach $context.mandantId passen, erstellt. Es DARF hierbei NICHT nach $context.workplaceId gefiltert werden.
Für jedes <CardHandle> der in Schritt 3 erzeugten Liste werden folgende Schritte ausgeführt, für die gSMC-Ks die Schritte 5 und 6:
Falls Schritt 5 der TUC_KON_033 die Warnung 4257 zurückgibt, wird Schritt 6 nicht ausgeführt und die Schritte für das <CardHandle> der in Schritt 3 erzeugten Liste weiter ausgeführt. Die Warnung 4257 wird
mit dem <cCardHandle> des aktuellen Schrittes für den WarnFehlertext erzeugt. Werden für mehrere <CardHandle> von TUC_KON_033 die Warnung 4257 zurückgegeben, so MUSS der Konnektor daher mehrere separate Warnungen 4257 ausgeben. Das Auftreten der Warnungen 4257 darf hierbei nicht in einem SOAP Fault der Operation enden, sondern es MUSS vielmehr CONN:Status/Result=Warning zurückgeben und durch die Iterationen über die Liste ggf. akkumulierten Warntexte in Sequenzen von  CONN:Status/GERROR:Error ausgegeben werden.
4.


TUC_KON_026 „Liefere CardSession“
Ermittle CardSession über TUC_KON_026 {
    mandatId =MandantId;
    clientSystemId = ClientSystemId;
    cardHandle = CardHandle;
    userId = UserId }
Für jeden HBA ist eine passende und gültige UserId zu verwenden, falls nicht als $context.userId
übergeben .
5.


TUC_KON_033 „Zertifikatsablauf prüfen“
Das Gültigkeitsdatum des Zertifikats wird geprüft mit TUC_KON_033 {
    cardSession;
    doInformClients = false;
    Crypt;
}
bzw. TUC_KON_033 {
    checkSMCK = true;
    doInformClients = false;
    Crypt;

6.


TUC_KON_034 „Zertifikatsinformationen extrahieren”
Beim Aufruf des TUC_KON_034 ist der Parameter qes = false zu setzen.
Aus den jeweiligen Rückgabewerten entsteht eine Liste aus Tupeln (CtID, CardHandle, ICCSN, subject.CommonName, serialNumber, validity). Diese wird von der Operation zurückgegeben.

Tabelle 3: TAB_KON_603 Fehlercodes „CheckCertificateExpiration“

Fehlercode
ErrorType
Severity
Fehlertext
Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten:
4000
Technical
Error
Syntaxfehler
4058
Security
Error
Aufruf nicht zulässig
4257 Technical Warning <$Crypt>Zertifikat nicht vorhanden auf Karte: <cardHandle>
[<=]

2 Änderung in api-telematik

Die Schnittstelle wird aufgrund der sematischen Änderungen hochgezählt.

Siehe den folgenden PR auf api-telematik: https://github.com/gematik/api-telematik/pull/43