{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://schema.fitko.de/fit-connect/metadata/dataset/reply-channel-1.0.0.schema.json","title":"FIT-Connect Reply Channel Schema","description":"Informationen zu den durch die Antragsteller:in gewünschten Rückkanälen. Die gewählten Rückkanäle sollten eine Untermenge der in einem Zustellpunkt hinterlegten Rückkanäle (`replyChannels`) entsprechen. Wenn zum Beispiel in einem Zustellpunkt die Rückkanäle `eMail` und `elster` hinterlegt sind, dann kann der Sender E-Mail oder Elster wählen oder aber keinen Rückkanal. Falls kein Rückkanal gewählt wird, wird der Briefweg verwendet.","type":"object","required":["replyChannels"],"properties":{"replyChannels":{"type":"object","minProperties":1,"properties":{"eMail":{"type":"object","properties":{"address":{"type":"string","format":"email"},"pgpPublicKey":{"type":"string","description":"Hilfe zur Erstellung gibt es in der Dokumentation unter https://docs.fitko.de/fit-connect/docs/metadata/replyChannel","pattern":"^-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\n"}},"required":["address"]},"deMail":{"type":"object","description":"Akkreditierte Anbieter siehe https://www.bsi.bund.de/DE/Themen/Oeffentliche-Verwaltung/Moderner-Staat/De-Mail/Akkreditierte-DMDA/akkreditierte-dmda_node.html","properties":{"address":{"type":"string","format":"email"}},"required":["address"]},"fink":{"deprecated":true,"type":"object","description":"Postfachadresse in einem interoperablen Servicekonto (FINK.PFISK)","properties":{"finkPostfachRef":{"type":"string","description":"FINK Postfachadresse","examples":["hh/by/12345"],"maxLength":150,"pattern":"^[-._a-z0-9~/]+$"},"host":{"type":"string","description":"URL des Servicekontos, in dem das Ziel-Postfach liegt","format":"uri","examples":["https://servicekonto1.example.com/"]}},"required":["finkPostfachRef"]},"elster":{"type":"object","description":"Siehe https://www.elster.de/elsterweb/infoseite/elstertransfer_hilfe_schnittstellen","properties":{"accountId":{"type":"string"},"lieferTicket":{"type":"string"},"geschaeftszeichen":{"type":"string","maxLength":60}},"required":["accountId"]},"fitConnect":{"type":"object","description":"Hiermit kann den sendenden Systemen signalisiert werden, dass die empfangende Stelle für Einreichungen an diesen Zustellpunkt eine Rückkanalkommunikation per FIT-Connect unterstützt.","required":["supportedSchemas","encryptionPublicKey","destinationId"],"properties":{"supportedSchemas":{"description":"Hier ist eine eindeutige Referenz auf den zu verwendenden Datenaustauschstandard (einschließlich der Version) mittels der offiziellen URI des Datenaustauschstandards zu hinterlegen.","type":"array","minItems":1,"items":{"type":"object","required":["schemaUri","mimeType"],"properties":{"schemaUri":{"type":"string","format":"uri","description":"URI des Datenaustauschformats"},"mimeType":{"enum":["application/json","application/xml"],"description":"MIME Type des Schemas"}}}},"destinationId":{"type":"string","format":"uuid","description":"Eindeutige UUID des Zustellpunkts, diese muss der `destinationId` des Initiators/Onlinedienstes entsprechen.","minLength":32,"maxLength":36},"encryptionPublicKey":{"title":"JSON Web Key (JWK)","type":"object","description":"JSON Web Key - RFC 7517","required":["kty","key_ops","alg","kid","n","e"],"properties":{"kty":{"type":"string","description":"Der Parameter \"kty\" (Schlüsseltyp) identifiziert die kryptografische Algorithmus Familie, die mit dem Schlüssel verwendet wird, z. B. \"RSA\" oder \"EC\". In FIT-Connect sind aktuell nur RSA-Schlüssel erlaubt.","enum":["RSA"]},"key_ops":{"type":"array","description":"Der Parameter \"key_ops\" (Schlüsseloperationen) identifiziert die Operation(en) für die der Schlüssel verwendet werden soll. Die Bedeutung der Erlaubten Operationen sind:  - `verify`: Digitale Signatur oder MAC überprüfen  - `wrapKey`: Verschlüsselungsschlüssel","items":{"type":"string","enum":["wrapKey"]}},"alg":{"type":"string","description":"Der Parameter \"alg\" (Algorithmus) identifiziert den Algorithmus, der für Verwendung mit dem Schlüssel vorgesehen ist. In FIT-Connect wird `PS512` für Signaturschlüssel und `RSA-OAEP-256` für Verschlüsselungsschlüssel genutzt.","enum":["RSA-OAEP-256"]},"kid":{"type":"string","description":"Der Parameter \"kid\" (Schlüssel-Id) wird verwendet, um einen bestimmten Schlüssel zu identifizieren.","minLength":8,"maxLength":64},"n":{"type":"string","description":"Modulus des Schlüssels. Die minimale Länge von 683 Zeichen repräsentiert eine Schlüssellänge von mindestens 4096 Bit.","minLength":683},"e":{"type":"string","description":"Öffentlicher Exponent des Schlüssels","enum":["AQAB"]}}}}},"idBundDeMailbox":{"type":"object","description":"Hiermit signalisiert der Onlinedienst, dass die zuständige Stelle für Antworten das Postfach der DeutschlandID verwenden soll.","required":["mailboxUuid"],"properties":{"mailboxUuid":{"type":"string","description":"Das Postkorb-Handle aus dem SAML-Token (legacyPostkorbHandle).","format":"uuid","minLength":32,"maxLength":36}}}}},"messages":{"type":"array","description":"Eine Struktur, die ein Mapping zwischen Prozessdefinition, Nachrichtenfluss und Rückkanal herstellt.","minItems":1,"items":{"type":"object","description":"Pro Nachrichtenfluss kann hier ein Rückkanal definiert werden.","required":["processModelId","messageId","replyChannel"],"properties":{"processModelId":{"type":"string","format":"uri","description":"Eindeutige URI einer Prozessdefinition inkl. der Version"},"messageId":{"type":"string","description":"Identifikator eines Nachrichtenflusses","maxLength":255},"replyChannel":{"enum":["deMail","elster","eMail","fink","fitConnect","idBundDeMailbox"],"description":"Auswahl des Rückkanals für den Nachrichtenfluss"}}}}}}