picuuai's post in Assinar XML Dctfweb was marked as the answer
27 Setembro, 2023
Prezados, achei a solução, obrigado pela ajuda @italo
procedure Tfrmdctf.AssinarXml(const ElementoFinal:String);
var SSL : TDFeSSL;
XMLUTF8, XMLAssinado : String;
begin
SSL := TDFeSSL.Create;
try
SSL.SSLDgst := dgstSHA256; // esse paramentro muda o tipo de assinatura SHA
SSL.SSLCryptLib := cryWinCrypt;
SSL.SSLXmlSignLib := xsLibXml2;
SSL.ArquivoPFX := integra.caminhocertificado;
SSL.Senha := '33711196';
SSl.CarregarCertificado;
XMLUTF8 := memo3.Lines.Text;
XMLAssinado := SSL.Assinar(XMLUTF8, ElementoFinal, '', '','','','id'); // o parametro idattr coloca o conteudo (id) do elemento dentro da reference na assinatura
memo4.Lines.Text:= XMLAssinado;
finally
SSL.free;
PANEL2.Caption:='PROBLEMAS AO ASSINAR XML.';
end;
PANEL2.Caption:='XML ASSINADO COM SUCESSO.';
para chamar a funcao
AssinarXml('ConteudoDeclaracao');