bom dia pessoal, pesquisei no forum, mas nao achei a solucao.
to tentando assinar um xml, mas ocorre o erro raised exception class Exception with message 'CryptExportKey - len', e nao assina
to usando a rotina abaixo
function AssinarXML(AXml: RawByteString; ATag1, ATag2, ASerieCert: String): RawByteString;
var SSL: TDFeSSL;
begin
SSL := TDFeSSL.Create;
try
//SSL.SSLCryptLib := libWinCrypt;
//SSL.SelecionarCertificado;
SSL.SSLCryptLib := cryWinCrypt; //cryOpenSSL; //cryWinCrypt;
SSL.SSLHttpLib := httpWinHttp; //httpOpenSSL; //httpWinHttp;
SSL.SSLXmlSignLib := xsLibxml2; //libWinCrypt;}
//SSL.SSLType := LT_TLSv1_2;
SSL.NumeroSerie := ASerieCert;
SSL.CarregarCertificadoSeNecessario;
Result := SSL.Assinar(AXml, ATag1, ATag2);
finally
SSL.free;
end;
end;
ja conferi os parametros e parecem normais. o xml é este (provedor Softplan - NFSe)
<?xml version="1.0" encoding="UTF-8"?>
<xmlCancelamentoNfpse>
<motivoCancelamento>1 - Erro de emissao TESTE DE ENVIO</motivoCancelamento>
<nuAedf>1140619</nuAedf>
<nuNotaFiscal>1828</nuNotaFiscal>
<codigoVerificacao>C0DB03E288CB3119</codigoVerificacao>
</xmlCancelamentoNfpse>
alguem tem alguma rotina pra fazer a assinatura do XML?