C_12154_Anlage
Inhaltsverzeichnis
1 Änderungen in gemSpec_Kon
1.1 4.1.5 Kartendienst
A_25822-02 - Operation SecureSendAPDU
Der Konnektor MUSS an der Außenschnittstelle eine Operation SecureSendAPDU, wie in Tabelle TAB_KON_270 Operation SecureSendAPDU beschrieben, anbieten.
Tabelle 1: TAB_KON_270 Operation SecureSendAPDU
Name |
SecureSendAPDU |
|
---|---|---|
Beschreibung |
Die Operation sendet eine Liste von Kommando-APDUs an eine Karte und liefert die Liste der Rückgabe-APDUs. Die Operation MUSS nur eGK unterstützen. Die Zuordnung der Kommando-APDUs und der Rückgabe-APDUs ergibt sich aus der Reihenfolge in den Listen. In der Liste der Kommando-APDUs kann vor jedem Kommando-APDU eine Liste mit erwarteten StatusCodes zu dem jeweiligen Kommando-APDU mitgeschickt werden. Die Liste der Rückgabe-APDUs enthält ausschließlich Rückgabe-APDUs. Die Operation nimmt eine Liste von Kommando-APDUs entgegen, prüft die Signatur und sendet die Kommando-APDUs an eine Karte. Der Aufrufparameter TransactionData enthält unter anderem eine Liste. Jedes Element dieser Liste enthält eine Kommando-APDU und eine Menge von akzeptablen, erwarteten Statuswörtern. Der Rückgabewert TransactionResult enthält eine Liste von Antwort-APDUs. Die erste Antwort-APDU korrespondiert mit der ersten Kommando-APDU aus TransactionData. Die nächste Antwort-APDU korrespondiert mit der nächsten Kommando-APDU, usw. Die Operation MUSS den Kartentyp eGK unterstützen. Die Operation DARF NICHT andere Kartentypen unterstützen. |
|
Aufrufparameter | Name |
Beschreibung |
TransactionData |
TransactionData enthält ein Scenario wie in [api-popp] beschrieben (base64-codiert). Ein Scenario enthält eine Unterstruktur Scenario7816 und diese wiederum eine Liste bestehend aus Elementen (hier: Elements). Der Parameter TransactionData ist base64-codiert. Er enthält ein JWT gemäß [RFC-7519] wie in I_PoPP_Token_Generation.yaml (siehe [api-popp]) definiert. Dieses JWT ist identisch zu der Property signedScenario der Nachricht ConnectorScenarioMessage. Der Header dieses JWT folgt dem Format ConnectorScenarioHeaders. Die Payload dieses JWT ist eine StandardScenarioMessage. Hinweis: Das JWT folgt JWS Compact Serialization gemäß [RFC-7515]. Es enthält drei durch "." getrennte Abschnitte: <base64URL-kodierter Header>.<base64URL-kodierter Payload>.<base64URL-kodierte Signatur> Die Signaturerstellung erfolgt nach [RFC-7515]. |
|
Rückgabe | Name |
Beschreibung |
CONN:Status | Enthält den Ausführungsstatus der Operation | |
TransactionResult |
Der Parameter TransactionResult ist base64-codiert. Er enthält die bae64-codierte Liste der Rückgabe-APDUs (hier ResultList)wie in I_PoPP_Token_Generation.yaml ([api-popp]) definiert. Das Format der Liste ist in [api-popp] beschrieben entspricht der Property steps der Nachricht ScenarioResponseMessage. |
|
TimeSpan | Zeitspanne, in der der nächste Aufruf von SecureSendAPDU mit dem nächsten Szenario der Sequenz erfolgen muss TimeSpan = 0 zeigt das letzte Szenario der Sequenz an. |
|
Vorbedingung | keine |
|
Nachbedingung | keine |
Tabelle 2: TAB_KON_271 Ablauf SecureSendAPDU
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. |
2. |
TUC_KON_161 „nonQES Dokumentensignatur prüfen“ Signatur des JWT prüfen |
Die Signatur des JWT in TransactionData wird geprüft. Die dazugehörige Prüfung des Signaturzertifikats erfolgt durch Aufruf von TUC_KON_037 „Zertifikat prüfen“ {
certificate = ConnectorScenarioHeaders/x5c;
qualifiedCheck = not_required;
offlineAllowNoCheck = true;
policyList =
oid_zd_sig;
intendedKeyUsage = intendedKeyUsage(C.ZD.SIG)
intendedExtendedKeyUsage = empty;
validationMode = OCSP } .
Die technische Rolle gemäß [gemSpec_OID#GS-A_4446] muss einem zulässigen Wert entsprechen. Die aktuell zulässigen Werte sind:
Die nonQES wird geprüft mittels TUC_KON_161 { certificate = X509Certificate; signature = SignatureObject; signedDocument = TransactionData; roleToMatch = oid_popp }. |
3. |
TUC_KON_208 „Sende gesicherte APDU“ |
Die Kommando-APDUs werden an die Karte gesendet und das Ergebnis zurückgegeben mittels TUC_KON_208 { transactionData } |
Tabelle 3: TAB_KON_272 Fehlercodes SecureSendAPDU
Fehlercode |
ErrorType |
Severity |
Fehlertext |
---|---|---|---|
Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
4000 |
Technical |
Error |
Syntaxfehler |
4209 |
Technical |
Error |
Kartentyp %CardType% wird durch diese Operation nicht unterstützt. |
A_26069-01 - TUC_KON_208 "Sende gesicherte APDU"
Der Konnektor MUSS den technischen Use Case „Sende gesicherte APDU“ gemäß TAB_KON_283 umsetzen.
Tabelle 4: TAB_KON_283 – TUC_KON_208 „Sende gesicherte APDU“
Element |
Beschreibung |
Name |
TUC_KON_208 „Sende gesicherte APDU“ |
Beschreibung |
Der technische Use Case löst Karten-Transaktionen aus. Aus übergebenen integritäts- und authentizitätsgeschützten Transaktionsdaten extrahiert er APDUs, sendet diese zur Ausführung an die Karte und gibt die Ergebnisse an den Aufrufer zurück. Als Kartentyp wird die eGK unterstützt. |
Auslöser |
Operation SecureSendAPDU |
Vorbedingungen |
keine |
Eingangsdaten |
|
Komponenten |
Karte, Kartenterminal, Konnektor |
Ausgangsdaten |
|
Standardablauf |
|
Varianten/ Alternativen |
Keine |
Fehlerfälle |
(->2) Die dekodierten Eingabeparameter sind nicht nach [api-popp] validierbar: Fehlercode 4286 (->3) $clientSessionID existiert nicht: Fehlercode 4288 (->4) Es ist kein Lock für $clientSessionID gesetzt: Fehlercode 4289 (->5) Die laufende Sequenznummer $sequenceCounter ist für den ersten Aufruf != 0 bzw. die erste und nicht das Inkrement des vorhergehenden Aufrufes: Fehlercode 4285 |
Tabelle 5: TAB_KON_280 – Fehlercodes TUC_KON_223 „Sende gesicherte APDU“
Fehlercode |
ErrorType |
Severity |
Fehlertext |
---|---|---|---|
Neben den Fehlercodes der aufgerufenen technischen Use Cases können folgende weitere Fehlercodes auftreten: |
|||
4284 | Technical | Warnung | APDU konnte nicht verarbeitet werden. |
4285 | Technical | Error | Unerwartetes Sequence-Element |
4286 | Technical | Error | Inhalt von TransactionData nicht valide |
4288 | Technical | Error | Unbekannte Session ID |
4289 | Technical | Error | Karte nicht reserviert |
1.2 5.5.2 Dokumente der gematik
[Quelle] |
Herausgeber: Titel |
---|---|
[api-popp] | https://github.com/gematik/api-popp Die aktuell gültige Version wird im Produktsteckbrief referenziert. |
[api-telematik] | https://github.com/gematik/api-telematik Die aktuell gültige Version wird im Produktsteckbrief referenziert. |
2 Änderungen in gemProdT_Kon_PTV6
Tabelle 6: Mitgeltende Dokumente und Web-Inhalte
Quelle |
Herausgeber: Bezeichnung / URL |
Version/Branch/Tag |
---|---|---|
api-telematik | Hinweis: Die Version für die Vorveröffentlichung von [api-telematik] befindet sich zur Zeit unter diesem Link: https://github.com/gematik/api-telematik/pull/33 Der folgende Link wird ab der Veröffentlichung gültig sein: https://github.com/gematik/api-telematik/releases/tag/6.0.1 https://github.com/gematik/api-telematik/releases/tag/6.0.0-2 (gültig ab Ende KW 32/2024) |
6.0.1 6.0.0-2 |
api-popp | Hinweis: Die Version für die Vorveröffentlichung von [api-popp] befindet sich zur Zeit unter diesem Link: https://github.com/gematik/api-popp/tree/publishInternalRelease-3 Der folgende Link wird ab der Veröffentlichung gültig sein: https://github.com/gematik/api-popp/releases/tag/3.0.0 |
3.0.0 |