O xml eu já estou conseguindo assinar ele....
já o PDF que esta meio complicado...
Talvez você possa me ajudar Juliomar..
eu estou usando esse Código para poder assinar o PDF...
Só que o Validador de assinatura diz que o documento não foi assinado...
function TFCenprot.assinar(caminho: string): string;
var
fs : TFileStream;
qt : integer;
ch : PChar;
msg, content : WideString;
SignedData : ISignedData;
ISigner : ISigner2;
begin
{ Abre o arquivo original para obter dele o conteúdo a ser assinado }
fs := TFileStream.Create (caminho, fmOpenRead);
New (ch);
repeat
qt := fs.Read(ch^, 1);
if (qt > 0) then
content := content + ch^;
until qt = 0;
fs.Free;
Dispose (ch);
if(Certificado = nil) Then
buscaceritifcado;
ISigner := CoSigner.Create;
ISigner.Certificate := Certificado;
SignedData := CoSignedData.Create;
SignedData.Content := content;
msg := SignedData.Sign(ISigner, true, CAPICOM_ENCODE_BASE64 );
fs := TFileStream.Create ('C:\XML\13112019144_Ass.pdf', fmCreate);
for qt := 1 to Length (msg) do
fs.Write(msg[qt], 2);
fs.Free;
end;