Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/05/2015, 11:39
ake22
 
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