Say, I have 4 servers, one publicly visible (A), others (B,C and D) only visible to the one (A). Where B, C and D are identical services, each in their own company.
Can I route a call from a client to server A through to servers B, C or D depending on the client's Certificate used in the call?
And further, is it possible to specify what the destination is inside the message to server A? (Would require a partial encrypted message) (for example: I need to provide an employee record to company C, but A should not be able to read the record.)
I mean, this is possible of course if I re-implement the service of B, C and D on A, and let A be a new client to B, C and D. But I'd like to keep the message secured from client to B,C or D and let A only know what it needs to know to deliver it to them. So, if I re-implement the service, I wouldn't be able to use the transparent message encryption that WCF can provide as it would just decrypt it all.
EDIT:
The goal is to get data from a client to B,C or D, while, B,C or D only accept TCP packets from A. And, A is not allowed to read the data meant for B, C or D.