Some credit card / online banking mechanisms, like the VISA API, require to establish a 2-Way SSL (CRT + KEY, or PEM) to secure the connection. It is unclear how I can achieve 2-Way SSL using either the standard fetch API, or the one proposed by CloudFlare.
Can anyone help on this ?
Since no one have attempted this and there’s no official Web API docs for Fetch and SSL, I’m assuming that it’s impossible. Perhaps possible with a WASM that work as kind of a proxy inside the worker.
Like you guessed, for now it is not available on Cloudflare Workers
Which means currently you can only do this through NodeJS, on an other cloud provider. But transmitting the data between these two cloud providers kinda defeat the whole picture of mTLS., because you won’t be mTLS between those two cloud providers.
Anyway, see https://mtls.dev/ for an example of implementation on NodeJS.