This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.
Running the Functional Conformance Suite for UK
WSO2 Open Banking 2.0.0 supports Functional conformance suite v1.6.7.
The Open Banking Implementation Entity (OBIE) Functional Conformance Certificate allows WSO2 Open Banking to demonstrate that the solution has successfully implemented all required functional elements of the OBIE Read/Write API specifications, passing all tests performed by the Functional Conformance Tool.
This document contains the following topics:
Before you begin:
Download and unzip the following:
wso2-obam-2.0.0.zip (WSO2 Open Banking API Management)
wso2-obiam-2.0.0.zip (WSO2 Open Banking Identity and Access Management)
Configure the databases and set up the solution.
To set up the solution locally, see Try Local Setup
To set up a production deployment, follow the Deployment Guide
Configuring the solution
Set the
RenewTokenPerRequestproperty to false in<WSO2_OB_IAM_HOME>/repository/conf/deployment.tomlas follows:In
<WSO2_OB_IAM_HOME>/repository/conf/deployment.toml, update the<WSO2_OB_APIM_HOST>placeholder with the hostname of the API Manager server forIDTokenIsuuerID:Change the
MaximumFuturePaymentDaysvalue to365in<WSO2_OB_IAM_HOME>/repository/conf/deployment.tomlas follows:Open the
<WSO2_OB_IAM_HOME>/repository/conf/deployment.tomland<WSO2_OB_APIM_HOME>/repository/conf/deployment.tomlfiles and set the following configuration tofalse:The Functional conformance suite invokes the endpoints exposed by the host machine. Therefore, you need to add a hostname to the Docker-bridge interface. Thereby, both WSO2 Open Banking Identity and Access Management
(WSO2_OB_IAM_HOST)and WSO2 Open Banking API Management(WSO2_OB_APIM_HOST)servers can be accessed via the server hostnames and Docker-bridge hostname(DOCKER_SEVER_HOST).Create a new server key and a certificate including the following parameters:
server hostname as Common Name (CN).
DOCKER-BRIDGE_SEVER_HOST as Subject Alternative Name (SAN).See the sample given below:[req] distinguished_name = req_distinguished_name x509_extensions = v3_req prompt = no [req_distinguished_name] C = US ST = VA L = SomeCity O = MyCompany OU = MyDivision CN = <WSO2_OB_APIM_HOST> [v3_req] keyUsage = keyEncipherment, dataEncipherment, digitalSignature extendedKeyUsage = serverAuth, clientAuth subjectAltName = @alt_names [alt_names] DNS.1 = <DOCKER-BRIDGE_SEVER_HOST>openssl req -x509 -nodes -days 3560 -newkey rsa:4096 -keyout wso2carbon.key -out wso2carbon.crt -config req.conf -extensions 'v3_req'
Create a new keystore with the generated certificate. Please use the same keystore password
(KEYSTORE_PASSWORD)that you have already configured for the existing keystore:openssl pkcs12 -export -in wso2carbon.crt -inkey wso2carbon.key -name <KEYSTORE_PASSWORD> -out <WSO2_OB_APIM_HOST>.p12Import the generated server certificate (step a) to client truststore of both
WSO2_OB_IAM_HOSTandWSO2_OB_APIM_HOSTservers:keytool -importcert -file wso2carbon.crt -keystore client-truststore.jks -alias "<WSO2_OB_APIM_HOST>"
Configuring JWS validation
Open the
deployment.tomlfiles and do the following configurations:<WSO2_OB_IAM_HOME>/repository/conf/deployment.toml<WSO2_OB_APIM_HOME>/repository/conf/deployment.toml
Configure signing configurations as follows:
[open_banking.uk.signing_config] enable = true obie.trusted_anchors.signing = "openbanking.org.uk" obie.trusted_anchors.validation = "openbanking.org.uk" obie.org_id = "<org_id in the SSA or Organizational Unit of the certificate Owner>"Find the following tags and define the alias and kid values for the primary signing certificates:
[open_banking.ob_identity_retriever.server] signing_cert_alias="<production-key alias>" signing_cert_kid="<production kid>"Follow the API Security - JSON Web Signature (JWS) documentation and configure JWS validation support for Waiver 007.
Combine the signing certificate and key to a pk12 format file using the command below:
openssl pkcs12 -export -in <pem file> -inkey <key file> -name <alias> -out CertAndKey.p12Create a new keystore file:
keytool -genkey -alias <keystore alias> -keyalg RSA -keystore <keystore name>.jks -keysize 2048Import the p12 files to the new keystore.
keytool -importkeystore -deststorepass <keystore password> -destkeystore <keystore name>.jks -srckeystore CertAndKey.p12 -srcstoretype PKCS12Add the new keystore to the client-truststore.
Go to the
<WSO2_OB_IAM_HOME>/repository/resources/securitydirectory.Export the public certificate of the keystore to a
.pemfile.keytool -export -alias <alias> -keystore <keystore_name>.jks -file <keystore_name>.pemImport the
.pemfile toclient-truststore.jks.keytool -import -alias <alias> -file <keystore name>.pem -keystore client-truststore.jks -storepass wso2carbonGo to the
<WSO2_OB_APIM_HOME>/repository/resources/securitydirectory and repeat the above steps.
Duplicate and place the new keystore in the following locations:
<WSO2_OB_IAM_HOME>/repository/resources/security<WSO2_OB_APIM_HOME>/repository/resources/security
Configure the new keystore file in
deployment.tomlfiles:[keystore.primary] file_name = "<new_keystore.jks>" type = "JKS" password = "<new keystore password>" alias = "<new private key alias>" key_password = "<new private key password>"Update the Organization JWKS URL configuration with the JWKS URL retrieved from the Open Banking directory:
[oauth.endpoints] oauth2_jwks_url = "<org_jwks_endpoint in the SSA>"
Running the solution
Start WSO2 Open Banking API Manager and WSO2 Identity Access Management servers.
Deploy Account and Transaction API v3.1.5, Payment Initiation API v3.1.5, and Confirmation of Funds API v3.1.5.
Sign in to the API Developer Portal as a TPP at
https://<WSO2_OB_APIM_HOST>:9443/store.Change the redirect URL of the application to “
https://<DOCKER-BRIDGE_SEVER_HOST>:8443/conformancesuite/callback”.