Tengo un archivo
XML basado en el estandar UBL la cual contiene las siguientes etiquetas.
Código:
<ext:UBLExtensions>
<ext:UBLExtension>
<ext:ExtensionContent>
<ds:Signature Id="signatureKG">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="h t tp : / / w ww .w3. or g/TR/ 2001/REC-xml-c14n -20010315#WithComments"/> <ds:SignatureMethod Algorithm="ht tp : / /w ww . w3 . org/2000/09/xmldsig#dsa-sha1"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="ht tp ://ww w . w3. org/ 2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="ht t p : // www .w 3 . or g/2000/09/ xmldsig#sha1"/>
<ds:DigestValue>/* valor hash codificado en Base64 */</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>/* firma codificada en Base64 */</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>/* estructura que contiene información del certificado firmante */</ds:X509Certificate>
</ds:X509Data> </ds:KeyInfo>
</ds:Signature>
</ext:ExtensionContent>
</ext:UBLExtension>
</ext:UBLExtensions>
Buscando en la web, y en el mismo Club Delphi encontre información sobre el tema pero que no me daban un punto claro por donde empezar.
Encontre una alternativa con CAPICOM que me parece la más acertada, por intuición, he instalado y registrado su dll pero aun no he tenido resultados.
Utilizo Delphi en plataforma de escritorio y el esquema que tenia pensado era el siguiente.
Buscar certificado digital .cer - buscar archivo
xml - agregar clave privada ->
firmar documento
Gracias de antemano.