サード パーティ サービスにコールアウトしようとしていますが、「System.CalloutException: DER input, Integer tag.」というメッセージが表示されます。サード パーティは、使用する自己署名クライアント証明書を提供してくれました。そこに指摘があります (たとえば、こことAPEX ドキュメントでは、setClientCertificate を使用した「レガシー」メソッドを使用してこれが可能である可能性がありますが、これらは SOAP の例であり、私は使用していません。
証明書を Base64 に変換しました。私のコードは以下です。どんな助けでも大歓迎です。
HttpRequest req = new HttpRequest();
req.setEndpoint('https://myurl');
req.setMethod('POST');
string cert = 'mybase64encodedcert';
string certpass = 'mycertpass';
req.setClientCertificate(cert,certpass);
string thebody = 'somebody';
req.setBody(thebody);
Http http = new Http();
HTTPResponse res = http.send(req);
ところで、私はクライアント証明書に関する APEX ドキュメントとすべての参照資料を読みました。ドキュメントでカバーされていることをしているとは思いません。