OPT-SIG-001Choix de la banqueréglementéSignature et en-têtes
Signature des requêtes
Les requêtes du TPP sont-elles signées en http-signature ou en JWS ?
Les options
http-signature
Draft cavage, en-têtes
SignatureetDigest, RSA-SHA256. C'était le seul mécanisme jusqu'à la 1.6.2.JWS
Profil JWS d'Open Banking Europe, en-tête
X-JWS-Signature, algorithme choisi parmi ceux de la RFC 7518 et de l'ETSI TS 119 312. STET recommande fortement d'y passer.
- Dans STET 1.6.3
- Partie 1, §3.5.1 Mécanisme Http-Signature, p. 53
- Partie 1, §3.5.2 JSON Web Signature Profile for Open Banking, p. 55
- OpenAPI
SignatureHeaderJwSignatureHeader - Journal des modificationsCR 408
- Côté banque
- La signature reste obligatoire : une requête sans signature ou avec une signature invalide est rejetée en 400. Seul le mécanisme se choisit. Dans l'OpenAPI 1.6.3, les deux en-têtes sont
required: false, ce qui traduit le choix entre les deux et ne rend pas la signature facultative. - Côté TPP
- Implémenter les deux, puisque les banques qui n'ont pas migré restent en http-signature. Le certificat de signature est un QSealC.
- Réglementation
Les RTS demandent un certificat qualifié, QSealC ou QWAC (art. 34(1)). STET exige les deux : le QWAC pour le mTLS, le QSealC pour la signature.
Textes cités
La fiche telle qu'elle est stockée
{
"id": "OPT-SIG-001",
"edition": "1.6.3",
"chooser": "aspsp",
"title": {
"fr": "Signature des requêtes",
"en": "Request signing",
"es": "Firma de las peticiones",
"pt-br": "Assinatura das requisições"
},
"question": {
"fr": "Les requêtes du TPP sont-elles signées en http-signature ou en JWS ?",
"en": "Are TPP requests signed with http-signature or with JWS?",
"es": "¿Las peticiones del TPP se firman con http-signature o con JWS?",
"pt-br": "As requisições do TPP são assinadas com http-signature ou com JWS?"
},
"options": [
{
"label": {
"fr": "http-signature",
"en": "http-signature",
"es": "http-signature",
"pt-br": "http-signature"
},
"text": {
"fr": "Draft cavage, en-têtes `Signature` et `Digest`, RSA-SHA256. C'était le seul mécanisme jusqu'à la 1.6.2.",
"en": "The Cavage draft, `Signature` and `Digest` headers, RSA-SHA256. It was the only mechanism up to 1.6.2.",
"es": "Draft cavage, headers `Signature` y `Digest`, RSA-SHA256. Fue el único mecanismo hasta la 1.6.2.",
"pt-br": "Draft cavage, headers `Signature` e `Digest`, RSA-SHA256. Era o único mecanismo até a 1.6.2."
}
},
{
"label": {
"fr": "JWS",
"en": "JWS",
"es": "JWS",
"pt-br": "JWS"
},
"text": {
"fr": "Profil JWS d'Open Banking Europe, en-tête `X-JWS-Signature`, algorithme choisi parmi ceux de la RFC 7518 et de l'ETSI TS 119 312. STET recommande fortement d'y passer.",
"en": "The Open Banking Europe JWS profile, `X-JWS-Signature` header, with the algorithm chosen from those of RFC 7518 and ETSI TS 119 312. STET strongly recommends moving to it.",
"es": "Perfil JWS de Open Banking Europe, header `X-JWS-Signature`, algoritmo elegido entre los de la RFC 7518 y la ETSI TS 119 312. STET recomienda encarecidamente migrar a él.",
"pt-br": "Perfil JWS da Open Banking Europe, header `X-JWS-Signature`, algoritmo escolhido entre os da RFC 7518 e da ETSI TS 119 312. A STET recomenda fortemente migrar para ele."
}
}
],
"stet": {
"sections": [
{
"part": "framework",
"section": "3.5.1",
"page": 53
},
{
"part": "framework",
"section": "3.5.2",
"page": 55
}
],
"openapi": [
"SignatureHeader",
"JwSignatureHeader"
],
"flows": [],
"changes": [
408
],
"remark": null
},
"aspsp": {
"fr": "La signature reste obligatoire : une requête sans signature ou avec une signature invalide est rejetée en 400. Seul le mécanisme se choisit. Dans l'OpenAPI 1.6.3, les deux en-têtes sont `required: false`, ce qui traduit le choix entre les deux et ne rend pas la signature facultative.",
"en": "Signing remains mandatory: a request with no signature or with an invalid one is rejected with 400. Only the mechanism is a choice. In the 1.6.3 OpenAPI, both headers are `required: false`, which reflects the choice between the two and does not make signing optional.",
"es": "La firma sigue siendo obligatoria: una petición sin firma o con una firma no válida se rechaza con un 400. Solo se elige el mecanismo. En el OpenAPI 1.6.3, los dos headers son `required: false`, lo que refleja la elección entre ambos y no hace opcional la firma.",
"pt-br": "A assinatura continua obrigatória: uma requisição sem assinatura ou com assinatura inválida é rejeitada com 400. Só o mecanismo é escolhido. No OpenAPI 1.6.3, os dois headers são `required: false`, o que reflete a escolha entre um e outro e não torna a assinatura opcional."
},
"tpp": {
"fr": "Implémenter les deux, puisque les banques qui n'ont pas migré restent en http-signature. Le certificat de signature est un QSealC.",
"en": "Implement both, since banks that have not migrated stay on http-signature. The signing certificate is a QSealC.",
"es": "Implementar ambos, ya que los bancos que no han migrado siguen con http-signature. El certificado de firma es un QSealC.",
"pt-br": "Implementar os dois, já que os bancos que não migraram continuam com http-signature. O certificado de assinatura é um QSealC."
},
"regulation": {
"text": {
"fr": "Les RTS demandent un certificat qualifié, QSealC ou QWAC (art. 34(1)). STET exige les deux : le QWAC pour le mTLS, le QSealC pour la signature.",
"en": "The RTS require a qualified certificate, QSealC or QWAC (Article 34(1)). STET requires both: the QWAC for mTLS, the QSealC for signing.",
"es": "Las RTS exigen un certificado cualificado, QSealC o QWAC (art. 34(1)). STET exige los dos: el QWAC para el mTLS y el QSealC para la firma.",
"pt-br": "As RTS exigem um certificado qualificado, QSealC ou QWAC (art. 34(1)). A STET exige os dois: o QWAC para o mTLS e o QSealC para a assinatura."
},
"sources": [
{
"act": "rts",
"ref": "art. 34(1)"
}
]
},
"note": null,
"production": null,
"verifiedAt": "2026-10-19"
}