Cita:
Empezado por dani36652
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