Revisando como reiniciar encontré otra forma de pasar el certificado y siempre vuelve a leer el certificado en cada envío.
Lo he mirado en D11, así que la pregunta es.. en tu unidad System.Net.HttpClient.Win existe esta línea:
Código Delphi
[-]procedure TWinHTTPRequest.SetWinCertificate;
Y esta en la unidad Soap.SOAPHTTPTrans:
Código Delphi
[-] TClientCertExt = class(TClientCert)
private
FStream: TStream;
FFileName: TFileName;
FPassword: string;
public
procedure Assign(ASource: TPersistent); override;
property Stream: TStream read FStream write FStream;
published
property FileName: TFileName read FFileName write FFileName;
property Password: string read FPassword write FPassword;
end;
Si es así pon el código de
procedure TWinHTTPRequest.SetWinCertificate para ver si tiene diferencias de D10.4 a D11 y podrías usar un stream para pasar el certificado antes de hacer las llamadas.