19/05/2015, 11:39
|
| | Fecha de Ingreso: mayo-2010
Mensajes: 8
Antigüedad: 14 años, 6 meses Puntos: 1 | |
Respuesta: Firma electronica SAT lo resolvi con openssl asi:
aqui se usa el process para generar el certificado en pem ya que para la conexion con ocsp se necesita el certificado en pem
Process process = new Process();
process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
process.StartInfo.FileName = "C:\\OpenSSL-Win32\\bin\\openssl.exe";
process.StartInfo.Arguments = "x509 -inform der -in " + nombreArchivo + " -out " + nombreArchivoSinExtension + ".pem";
process.StartInfo.WorkingDirectory = "C:\\OpenSSL-Win32\\bin";
process.StartInfo.UseShellExecute = false;
process.StartInfo.ErrorDialog = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
// iniciamos el proceso
string resultado;
// creamos una varaible q almacenara el resultado encriptado
resultado = process.StandardOutput.ReadToEnd();
// el resultado del parametro "dgst -SHA1 d:\cadena.txt" se almacena en esta variable
process.WaitForExit();
//Process process2 = new Process();
process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
process.StartInfo.FileName = "C:\\OpenSSL-Win32\\bin\\openssl.exe";
process.StartInfo.Arguments = "ocsp -issuer ac2_4096.pem -url https://cfdit.sat.gob.mx/edofiel -cert " + nombreArchivoSinExtension + ".pem -VAfile delegadoOCSP_AC_4096.pem -header host cfdit.sat.gob.mx";
process.StartInfo.WorkingDirectory = "C:\\OpenSSL-Win32\\bin";
process.StartInfo.UseShellExecute = false;
process.StartInfo.ErrorDialog = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
// iniciamos el proceso
//string codificado;
// creamos una varaible q almacenara el resultado encriptado
resultado = process.StandardOutput.ReadToEnd().ToUpper();
process.WaitForExit();
// le decimos q se espere el proceso |