I would like to implement pinning on my Android app ( https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning ). In short, it's a whitelist of Public Keys that the client will accept. It's hardcoded in my client so that unless the SSL handshake has that specific public key the app won't communicate with the server.
The problem: I want to use Charles Proxy to also see the HTTPS traffic going back and forth and since Charles Proxy is essentially a MITM and signs requests with its own certificate my app rejects it.
Is there anyway to give Charles the server certificate ( I am in possession of it ) and have it use that to sign requests?