...
shall reject dynamic client registration requests not performed over a connection secured with mutual tls using certificates issued by Brazil ICP (production) or the Directory of Participants (sandbox);
shall validate that the request contains software_statement JWT signed using the
PS256
algorithim issued by the Open Finance Brasil directory of participants;shall validate that the
software_statement
was issued (iat) not more than 5 minutes prior to the request being received;shall validate that the attribute
jwks
(key set by value) was not included; but declared as a reference in thejwks_uri
attribute;shall, when informed, validate that
jwks_uri
matches thesoftware_jwks_uri
provided in thesoftware_statement
;shall require and validate that
redirect_uris
matches or contains a sub set of software_redirect_uris provided in thesoftware_statement
;shall require and validate that all client authentication mechanism adhere to the requirements defined in RFC7591 and RFC7592, validating the
registration_access_token
and, through a secure connection, the certificate chain of ICP-Brasil;removed;
shall validate that the requested scopes are adequate for accredited institutions and their regulatory roles and contained in the
software_statement
. The list of regulatory permissions and the corresponding scopes are described in the following sections;where possible, shall compare client metadata asserted by a client to the metadata provided in the
software_statement
, choosing values in the SSA with precedence;shall accept all x.500 AttributeType name strings defined in the Distinguished Name of the x.509 Certificate Profiles defined in Open Finance Brasil x.509 Certificate Standards;
if supporting
tls_client_auth
client authentication mechanism as defined in RFC8705 shall only accepttls_client_auth_subject_dn
as an indication of the certificate subject value as defined in clause 2.1.2 RFC8705;The value of the field UID of the certificate should match the one sent in the SSA, where the UID field should contain the value of the software_id field of the SSA.
The organizationIdentifier field will be found in the subject_DN in ASN.1 format and must be decoded respecting the corresponding encoding string. The value of the organizationIdentifier field of the certificate which must contain the prefix corresponding to the Registration Reference OFBBR- followed by the value of the org_id field of the SSA. You must convert the values of the OID 2.5.4.97 field from ASN.1 format to human-readable text. For certificates issued before August 31, 2022: The value of the OR field of the certificate must contain the value of the org_id field of the SSA.
shall, during the TLS handshake process, use the
distinguishedNameMatch
rule to compare the DN values as defined in RFC4517.shall ensure the integrity of the stock of active consents, even after any systemic changes, so that such changes are transparent to the data receiver institutions (TPP).
shall perform a recertification on OIDF FAPI and DCR after any systemic changes.
The value of the software_api_webhook_uris attribute contained as an attribute in the JWS in software_statement must be compared with the webhook_uris field. If the values are not exactly the same, the error must be returned, with the HTTP status code set to 400,
error
filled in asinvalid_webhook_uris
anderror_description
filled in withThe content of the webhook_uris field different from what was Registered in the software_statement noted via the JWS software_api_webhook_uris
field.If the webhook_uris field is not declared in the payload, the webhook functionality shall be considered disabled for the specific client.
These provisions apply equally to the processing of RFC7591, RFC7592 and OpenID Registration requests
...
Bloco de código |
---|
{ "software_mode": "Live", "software_redirect_uris": [ "https://www.raidiam.com/accounting/cb" ], "software_api_webhook_uris": ["https://www.myitp.com/mykong3"], "software_statement_roles": [ { "role": "DADOS", "authorisation_domain": "Open Banking", "status": "Active" }, { "role": "PAGTO", "authorisation_domain": "Open Banking", "status": "Active" } ], "software_client_name": "Raidiam Accounting", "org_status": "Active", "software_client_id": "Cki1EbvjwyhPB12NGLlz2", "iss": "Open Banking Open Banking Brasil prod SSA issuer", "software_tos_uri": "https://www.raidiam.com/accounting/tos.html", "software_client_description": "Raidiam Accounting leverage cutting edge open banking access to bring you real time up to date views of your finances", "software_jwks_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/application.jwks", "software_policy_uri": "https://www.raidiam.com/accounting/policy.html", "software_id": "25556d5a-b9dd-4e27-aa1a-cce732fe74de", "software_client_uri": "https://www.raidiam.com/accounting.html", "software_jwks_inactive_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/inactive/application.jwks", "software_jwks_transport_inactive_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/inactive/transport.jwks", "software_jwks_transport_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/transport.jwks", "software_logo_uri": "https://www.raidiam.com/accounting/logo.png", "org_id": "b961c4eb-509d-4edf-afeb-35642b38185d", "org_number": "112233445566", "software_environment": "production", "software_version": "1.1", "software_roles": [ "DADOS", "PAGTO" ], "org_name": "Open Banking Brasil", "iat": 1620060821, "organisation_competent_authority_claims": [ { "authorisation_domain": "Open Banking", "authorisations": [], "registration_id": "13353236-OBB-CONTA", "authority_id": "687a1c94-b360-4e04-9589-0fa5cb16451b", "authority_name": "Banco Central", "authorisation_role": "CONTA", "authority_code": "BCB", "status": "Active" }, { "authorisation_domain": "Open Banking", "authorisations": [], "registration_id": "13353236-OBB-DADOS", "authority_id": "687a1c94-b360-4e04-9589-0fa5cb16451b", "authority_name": "Banco Central", "authorisation_role": "DADOS", "authority_code": "BCB", "status": "Active" }, { "authorisation_domain": "Open Banking", "authorisations": [], "registration_id": "13353236-OBB-PAGTO", "authority_id": "687a1c94-b360-4e04-9589-0fa5cb16451b", "authority_name": "Banco Central", "authorisation_role": "PAGTO", "authority_code": "BCB", "status": "Active" } ] } |
...
Bloco de código |
---|
POST /reg HTTP/1.1 Host: auth.raidiam.com Content-Type: application/json { "application_type": "web", "grant_types": [ "client_credentials", "authorization_code", "refresh_token", "implicit" ], "id_token_signed_response_alg": "PS256", "require_auth_time": false, "response_types": [ "code id_token", "id_token" ], "software_statement": "eyJraWQiOiJzaWduZXIiLCJ0eXAiOiJKV1QiLCJhbGciOiJQUzI1NiJ9.eyJzb2Z0d2FyZV9tb2RlIjoiTGl2ZSIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvY2IiXSwic29mdHdhcmVfc3RhdGVtZW50X3JvbGVzIjpbeyJyb2xlIjoiREFET1MiLCJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsInN0YXR1cyI6IkFjdGl2ZSJ9LHsicm9sZSI6IlBBR1RPIiwiYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJzdGF0dXMiOiJBY3RpdmUifV0sInNvZnR3YXJlX2NsaWVudF9uYW1lIjoiUmFpZGlhbSBBY2NvdW50aW5nIiwib3JnX3N0YXR1cyI6IkFjdGl2ZSIsInNvZnR3YXJlX2NsaWVudF9pZCI6IkNraTFFYnZqd3loUEIxMk5HTGx6MiIsImlzcyI6Ik9wZW4gQmFua2luZyBPcGVuIEJhbmtpbmcgQnJhc2lsIHByb2QgU1NBIGlzc3VlciIsInNvZnR3YXJlX3Rvc191cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nXC90b3MuaHRtbCIsInNvZnR3YXJlX2NsaWVudF9kZXNjcmlwdGlvbiI6IlJhaWRpYW0gQWNjb3VudGluZyBsZXZlcmFnZSBjdXR0aW5nIGVkZ2Ugb3BlbiBiYW5raW5nIGFjY2VzcyB0byBicmluZyB5b3UgcmVhbCB0aW1lIHVwIHRvIGRhdGUgdmlld3Mgb2YgeW91ciBmaW5hbmNlcyIsInNvZnR3YXJlX2p3a3NfZW5kcG9pbnQiOiJodHRwczpcL1wva2V5c3RvcmUuZGlyZWN0b3J5Lm9wZW5iYW5raW5nYnJhc2lsLm9yZy5iclwvYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkXC8yNTU1NmQ1YS1iOWRkLTRlMjctYWExYS1jY2U3MzJmZTc0ZGVcL2FwcGxpY2F0aW9uLmp3a3MiLCJzb2Z0d2FyZV9wb2xpY3lfdXJpIjoiaHR0cHM6XC9cL3d3dy5yYWlkaWFtLmNvbVwvYWNjb3VudGluZ1wvcG9saWN5Lmh0bWwiLCJzb2Z0d2FyZV9pZCI6IjI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZSIsInNvZnR3YXJlX2NsaWVudF91cmkiOiJodHRwczpcL1wvd3d3LnJhaWRpYW0uY29tXC9hY2NvdW50aW5nLmh0bWwiLCJzb2Z0d2FyZV9qd2tzX2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvYXBwbGljYXRpb24uandrcyIsInNvZnR3YXJlX2p3a3NfdHJhbnNwb3J0X2luYWN0aXZlX2VuZHBvaW50IjoiaHR0cHM6XC9cL2tleXN0b3JlLmRpcmVjdG9yeS5vcGVuYmFua2luZ2JyYXNpbC5vcmcuYnJcL2I5NjFjNGViLTUwOWQtNGVkZi1hZmViLTM1NjQyYjM4MTg1ZFwvMjU1NTZkNWEtYjlkZC00ZTI3LWFhMWEtY2NlNzMyZmU3NGRlXC9pbmFjdGl2ZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9qd2tzX3RyYW5zcG9ydF9lbmRwb2ludCI6Imh0dHBzOlwvXC9rZXlzdG9yZS5kaXJlY3Rvcnkub3BlbmJhbmtpbmdicmFzaWwub3JnLmJyXC9iOTYxYzRlYi01MDlkLTRlZGYtYWZlYi0zNTY0MmIzODE4NWRcLzI1NTU2ZDVhLWI5ZGQtNGUyNy1hYTFhLWNjZTczMmZlNzRkZVwvdHJhbnNwb3J0Lmp3a3MiLCJzb2Z0d2FyZV9sb2dvX3VyaSI6Imh0dHBzOlwvXC93d3cucmFpZGlhbS5jb21cL2FjY291bnRpbmdcL2xvZ28ucG5nIiwib3JnX2lkIjoiYjk2MWM0ZWItNTA5ZC00ZWRmLWFmZWItMzU2NDJiMzgxODVkIiwic29mdHdhcmVfZW52aXJvbm1lbnQiOiJwcm9kdWN0aW9uIiwic29mdHdhcmVfdmVyc2lvbiI6MS4xMCwic29mdHdhcmVfcm9sZXMiOlsiREFET1MiLCJQQUdUTyJdLCJvcmdfbmFtZSI6Ik9wZW4gQmFua2luZyBCcmFzaWwiLCJpYXQiOjE2MTgzMzYyNjIsIm9yZ2FuaXNhdGlvbl9jb21wZXRlbnRfYXV0aG9yaXR5X2NsYWltcyI6W3siYXV0aG9yaXNhdGlvbl9kb21haW4iOiJPcGVuIEJhbmtpbmciLCJhdXRob3Jpc2F0aW9ucyI6W10sInJlZ2lzdHJhdGlvbl9pZCI6IjEzMzUzMjM2LU9CQi1DT05UQSIsImF1dGhvcml0eV9pZCI6IjY4N2ExYzk0LWIzNjAtNGUwNC05NTg5LTBmYTVjYjE2NDUxYiIsImF1dGhvcmlzYXRpb25fcm9sZSI6IkNPTlRBIiwiYXV0aG9yaXR5X2NvZGUiOiJCQ0IiLCJzdGF0dXMiOiJBY3RpdmUifSx7ImF1dGhvcmlzYXRpb25fZG9tYWluIjoiT3BlbiBCYW5raW5nIiwiYXV0aG9yaXNhdGlvbnMiOltdLCJyZWdpc3RyYXRpb25faWQiOiIxMzM1MzIzNi1PQkItREFET1MiLCJhdXRob3JpdHlfaWQiOiI2ODdhMWM5NC1iMzYwLTRlMDQtOTU4OS0wZmE1Y2IxNjQ1MWIiLCJhdXRob3Jpc2F0aW9uX3JvbGUiOiJEQURPUyIsImF1dGhvcml0eV9jb2RlIjoiQkNCIiwic3RhdHVzIjoiQWN0aXZlIn0seyJhdXRob3Jpc2F0aW9uX2RvbWFpbiI6Ik9wZW4gQmFua2luZyIsImF1dGhvcmlzYXRpb25zIjpbXSwicmVnaXN0cmF0aW9uX2lkIjoiMTMzNTMyMzYtT0JCLVBBR1RPIiwiYXV0aG9yaXR5X2lkIjoiNjg3YTFjOTQtYjM2MC00ZTA0LTk1ODktMGZhNWNiMTY0NTFiIiwiYXV0aG9yaXNhdGlvbl9yb2xlIjoiUEFHVE8iLCJhdXRob3JpdHlfY29kZSI6IkJDQiIsInN0YXR1cyI6IkFjdGl2ZSJ9XX0.W6hUAYhjT6I61rxEIVMKYKre93LTbRdzKnk9dJvUdzVgAz5B9KxZNutf27oO3k0hrjYVWBdWq23o_e4Y_AaKdpS9-rtU84JiHtmqV0wcFYIM8nqcUVWqQ-Ux6Nq9L2G-s2YNd3PcJ1e3yGg9h8553Gr7iJusKEgApzXUpkM2rBELQuumktUE_JBiuIkXmWxoRnO1cW-Osbk3MT3bxG43SPcxii07Q5S8qXI6PjCPA3fYlnaUAygwZM3O0oa7jqmSr7d9UsHuDMJfYhIKdq2wyQQKORCN-D2UopmMX-lHMvAVkkrAO08T0-7odjr4PJk-PrwuoCxeAfa7440ZDOrlmQ", "subject_type": "public", "token_endpoint_auth_method": "private_key_jwt", "request_object_signing_alg": "PS256", "require_signed_request_object": true, "require_pushed_authorization_requests": false, "tls_client_certificate_bound_access_tokens": true, "client_id": "aCnBHjZBvD6ku3KVBaslL", "client_name": "Raidiam Accounting", "client_uri": "https://www.raidiam.com/accounting.html", "request_object_encryption_alg": "RSA-OAEP", "request_object_encryption_enc": "A256GCM" "jwks_uri": "https://keystore.directory.openbankingbrasil.org.br/b961c4eb-509d-4edf-afeb-35642b38185d/25556d5a-b9dd-4e27-aa1a-cce732fe74de/application.jwks", "redirect_uris": [ "https://www.raidiam.com/accounting/cb" "webhook_uris": [ "https://www.myitp.com/mykong3" ] ] } |
Open Finance Brasil SSA Key Store and Issuer Details
...