Zum Hauptinhalt springen

Metadatensatz erstellen

Für jede Einreichung müssen sendende Systeme einen Metadatensatz erstellen und beim Versenden der Einreichung an FIT-Connect übermitteln. Der Metadatensatz wird dabei wie auch die Fachdaten Ende-zu-Ende-verschlüsselt, sodass FIT-Connect keinen Einblick in die enthaltenen Metadaten erhält.

Im Abschnitt contentStructure des Metadatensatzes einer Einreichung wird die Struktur der Einreichung und deren Inhalte, wie Anhänge oder Fachdaten, beschrieben. Der Metadatensatz enthält ebenfalls Hashwerte der übermittelten Fachdaten und Anlagen, um einen bösartigen Austausch von einzelnen Anlagen zu verhindern (siehe unten). Zusätzlich können weitere Informationen über Verwaltungskund:innen hinterlegt werden. Weitere Informationen finden sich im Grundlagen-Artikel zum Metadatensatz. Eine genaue Definition und weitere Informationen sind in der Schema-Beschreibung zum Metadatensatz zu finden.

Sicherstellen der Integrität einer Submission

Es muss sichergestellt sein, dass Zwischensysteme, wie z. B. auch FIT-Connect selbst, Fachdaten oder Anhänge von Submissions nicht austauschen können. Hierfür wird eine Hashfunktion verwendet, welche die Integrität der Datensätze prüfbar macht. Die so berechneten Hashes werden vom sendenden System in den Metadaten verschlüsselt abgelegt und können bei Abruf vom empfangenden System validiert werden.

Nur wenn sowohl der Sender als auch der Subscriber Ihre Aufgaben übernehmen, ist die Integrität einer Submission sichergestellt. Wie diese Aufgaben für den Sender im Detail aussehen, wird im Folgenden beschrieben. Eine Beschreibung der Aufgaben des Subscribers findet sich im Artikel Einreichung überprüfen.

Aufgaben des Senders

Vor dem Versenden des Antrags muss der Sender sowohl für die Fachdaten als auch für jeden einzelnen Anhang den Hashwert berechnen. Starten wir mit den Fachdaten:

  1. Prüfen, ob Fachdaten vorhanden sind. Wenn nein, können die Schritte 2. und 3. übersprungen werden.
  2. Berechnen eines mit dem Metadatenschema kompatiblen Hashes (aktuell: SHA-512) der unverschlüsselten Fachdaten.
  3. Schreiben des Hashtyps sowie des Hashwertes in die Metadaten unter contentStructure.data.hash.

Nun zu den Anhängen:

  1. Prüfen, ob Anhänge vorhanden sind. Wenn nein, können die Schritte 2. und 3. übersprungen werden.
  2. Für jeden Anhang: Berechnen eines mit dem Metadatenschema kompatiblen Hashes (aktuell: SHA-512) der unverschlüsselten Anhänge.
  3. Für jeden Anhang: Schreiben des Hashtyps sowie des Hashwertes in die Metadaten unter contentStructure.attachments.*.hash.

Diese Funktionalität wird durch das .NET-SDK bereits intern umgesetzt und ist durch einen Aufruf der folgenden Methoden der Klasse SendableSubmission automatisch mit abgedeckt (siehe folgendes Beispiel). Mit diesen Methoden erzeugen Sie eine sendbare Einreichung (sendable Submission):

var sendableSubmission = SendableSubmission.Builder()
.SetDestination(destinationId)
.SetServiceType(leikaKey, "FIT Connect Demo")
.SetJsonData("{\"message\":\"Hello World\"}")
.AddAttachments(new Attachment("./Attachments/Test.pdf", "Test Attachment"),
new Attachment("./Attachments/Test.pdf", "Test Attachment #2"),
new Attachment(null, "Json Text Attachment", MediaTypeNames.Application.Json,
Encoding.UTF8.GetBytes("{\"message\":\"Hello World\"}"))
)
.SetAuthenticationInformation(new AuthenticationInformation("12345",
AuthenticationInformationType.IdentificationReport, "1.3.5"))
.SetPaymentInformation(new PaymentInformation(PaymentMethod.Creditcard,
PaymentStatus.Booked, "12345445", "2345566"))
.SetReplyChannel(
new ReplyChannel {
DeMail = new DeMail(address: "klaus.fischer@trash.de-mail.de")
})
.Build();

Der Quellcode oben ist ein Auszug aus dem Projekt ConsoleAppExample, das im Repository Codebeispiele - examples der FITKO hinterlegt ist. Eine Beschreibung des .NET-SDKs finden Sie im Hauptmenü unter "SDKs > .NET-SDK".