Ver Mensaje Individual
  #7  
Antiguo 22-03-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 264
Reputación: 2
pgranados Va por buen camino
Cita:
Empezado por dani36652 Ver Mensaje
Mi duda es mas que nada la siguiente:
En el ejemplo del link que me acabas de compartir que por cierto, se agradece...
A la hora de asignar valor a la parte de "SignatureValue" del XML se hace uso de este código
Código:
public string Sign(string sourceData, X509Certificate2 certificate)
        {
            byte[] data = GetBytes(sourceData);
            byte[] signature = null;

            using (RSA rsaCryptoServiceProvider = certificate.GetRSAPrivateKey())
            {
                signature = rsaCryptoServiceProvider.SignData(data, HashAlgorithmName.SHA1, RSASignaturePadding.Pkcs1);
            }
            return System.Convert.ToBase64String(signature);
        }
Lo que quisiera hacer es escribir el homólogo pero en Delphi Muchas gracias.
PD. estoy en el paso 1 que es la autenticacion

Necesitas tomar todo el nodo que viene en la pagina y pasarlo a un .txt y luego con ayuda del openssl debes de ejecutar algo así:

Código Delphi [-]
'dgst -sha1 -out "'+DestinoFirma+'" -sign "'+FielPem+'" "'+SignatureValue+'"';

Donde:
DestinoFirma: es el archivo resultante de la dgst en formato .bin
FielPem: es la key en .Pem
SignatureValue: es el .txt del nodo exportado


Despues el archivo .bin debes de pasarlo a Base64 y es lo que pondrás en el nodo
Responder Con Cita