C_12405_Anlage_V1.0.0
Prereleases:
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:
Wertebereich: RSA, ECC
|
|
| 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
|
|
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