Some Context:
We have a requirement that requires our APIs to communicate with other systems, and they mandate us to provide a JWT client_assertion signed by a key-pair provided to us during onboarding and also for mTLS by another key-pair also provided to us. Now we want to communicate with these systems dynamically!
When signing by different private keys dynamically, I am now using JWKs (Which could be provided in the request or loaded from a JS file in DataPower's local directory, but most importantly we will not update the published API!) when signing the payload instead of static "Sign Crypto Object". So now the signing is done dynamically!
The Issue here is the dynamic behavior of the TLS Client Profile created and used in the "invoke" policy. Is there a way to have a dynamic solution to use a specific TLS profile depending on the request?
I want to avoid having a switch with "invoke" policies having the required TLS client profile for every system! That requires us to update our API for every system added or removed!
So is there a way to support this behavior dynamically?
Edit: I found a solution using the urlopen module, so what are the differences between it and invoke policy? Are there any drawbacks I should be concerned with? Are there other alternatives?
Thanks in advance.
------------------------------
Mohamed Alkhaligy
------------------------------