Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Conexion a servicios ocsp en c#

Estas en el tema de Conexion a servicios ocsp en c# en el foro de .NET en Foros del Web. Ayuda, alguien que ya halla usado la libreria openssl en c# para conectarse a los servicios de ocsp para verificar el estado de un certificado ...
  #1 (permalink)  
Antiguo 12/05/2015, 14:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 8
Antigüedad: 14 años, 6 meses
Puntos: 1
Conexion a servicios ocsp en c#

Ayuda, alguien que ya halla usado la libreria openssl en c# para conectarse a los servicios de ocsp para verificar el estado de un certificado (archivo.cer).

Lo he hecho pero con la libreria boucycastle pero siempre me devuelve un 3 que significa intente mas tarde, segun un agente comento que algo similar sucede con openssl pero que se soluciona añadiendo el atributo header en el comando por ejemplo

OpenSSL> ocsp -issuer ac2_4096.pem -url https://cfdit.sat.gob.mx/edofiel -cert aimr770903ri4.pem -VAfile delegadoOCSP_AC_4096.pem -header host cfdit.sat.gob.mx


sin embargo eso se ejecuta en cmd pero no logro hacerlo en c#.
Si alguien ya logro hacer una conexión exitosa con un servidor ocsp usando esta libreria u otra mucho agradecería que lo compartiera.
  #2 (permalink)  
Antiguo 19/05/2015, 11:45
 
Fecha de Ingreso: mayo-2010
Mensajes: 8
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Conexion a servicios ocsp en c#

aqui les dejo como solucione el llamado a ocsp con openssl.ex en c#

lo resolvi con openssl. exe 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();

en este process se envia o se hace el llamado al ocsp con el archivo en pem
//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


NOTA: es importante que los certificados a lo que desea conocer el estado por ocsp deben estar en la misma carpeta de donde se encuentra el openssl.exe

saludos espero les sirva

Etiquetas: conexion, servicios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:41.