wp_remote_post() and Pem certificates

No, there are no provisions in wp_remote_post for those parameters. wp_remote_post is a high level abstraction around a deeper level API which itself is another wrapper around the Requests library ( which itself provides an abstraction that handles support for multiple HTTP backends, not all servers have curl, or the same versions of curl ).

If we look at WP_HTTP::request we can see the full list of arguments it accepts:

https://developer.wordpress.org/reference/classes/wp_http/request/

The most you can do is specify options for the remote servers SSL, e.g. a certificate bundle to accept from the remote end, and the option to skip verification. There are no client side options though, and you can’t pass in curl constants/keys as curl isn’t the only backend in use.

Requests does provide the requests.before_request hook to intercept the options and data at the lowest level before it makes the request, but this looks to be quite involved and probably involves writing a custom transport. It would be easier to use a library such as GuzzleHTTP or curl directly.

It’s also highly unlikely that you can specify a HTTP header to do this as what you want to do happens at a layer below raw HTTP in the transport layer.