Ver Mensaje Individual
  #235 (permalink)  
Antiguo 07/10/2010, 18:47
kadghar
 
Fecha de Ingreso: octubre-2010
Ubicación: DF
Mensajes: 1
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por AntonioMatias Ver Mensaje

'--------------------------------------------------------------------------------------
Espero que te sirva y puedas encontrar el error.
La solución fue que compile la clase en c# y agrege el DLL a mi proyecto.
'--------------------------------------------------------------------------------------
Saludos...
Antonio,

Tu código es muy bueno, pero tienes pequeños errores, el primero es que la comparación del salt debe ser contra la secuencia de bytes que llamas OIDpkcs5PBKDF2 y lo estás haciendo contra OIDpkcs5PBES2.

El segundo es que los dos bytes que van después de OIDdesEDE3CBC deben ser 2 y 2, tú estás validando 2 y 1, hay que cambiarlo.

Otro error que tienes, seguramente de concentración fue que en la función que usas para comparar bytes, el incremento de i lo pones adentro del IF, debe ir después del END IF, si no, cada vez comparas contra el primer byte.

Por último debes revisar en la función DecodePrivateKeyInfo, donde lees el 2 y 1 del pkcs8, asignas bt al 2 y twobytes al 1, y luego haces dos veces la comparación contra bt, cuando la segunda comparación debería ir contra el 1, o sea contra twobytes.

Haciendo estas pequeñas modificaciones, probé tu código y desencripta perfectamente cualquier key en PKCS8

Saludos,

Kad