“Erro não especificado” ao tentar assinar XML com Certificado Digital

Ao assinar o XML gerado, a DLL Capicom retornava somente um “Erro não especificado” no processo. O problema é que debugar no Delphi também não funcionava.

Quando ia mais a fundo, o erro continuava o mesmo. Em buscas pela internet, descobri algumas especificações da W3C em relação ao XML.

No meio destas especificações, descobri que o atributo “Id” da tag principal (um atributo previsto pela W3C) estava com a letra “D” maiúscula, mas deveria estar minúscula. Ocorre que simplesmente trocar a capitalização da letra resolveu completamente o problema, e permitiu que o XML fosse corretamente assinado com o certificado.

No final, bastou verificar se as letras estavam corretamente capitalizadas e as tags corretamente posicionadas (tanto a tag principal quanto a tag de certificados). Após testes, todo o desenvolvimento seguiu normalmente.

Anúncios