Ver Mensaje Individual
  #270  
Antiguo 28-10-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Reputación: 15
dado Va por buen camino
Cita:
Empezado por lcarrasco Ver Mensaje
Hola amigos, mejorando la liberia que les comente, me topo con que el Numero de Serie que reporta OpenSSL a traves del siguiente comando:

openssl.exe x509 -inform DER -in aaa010101aaa_CSD_02.cer -noout -serial > Serial.txt

Es:
3330303031303030303030313030303030383030

Y el que me regresa la libreria OpenSSL a traves de la DLL es:
3000100000010000080

En algun lado vi que se tenia que quitar un 3 de cada par de digitos. Solo que con esto quiero estar seguro al 100% y saber porque se quita ese 3. De donde viene? porque se quita y donde esta especificado que tiene que tener una longitud de 20 digitos el numero de serie?

Notese tambien la ausencia del ultimo 0 para completar los 20 digitos.

Gracias de antemano por sus respuestas
Lo que sucede es lo siguiente :

tomemos un "35", en realidad es un numero hexadecimal asi que lo tenemos que convertir a decimal, bueno eso es facil :

3x16 + 5 = 53

Pero resulta que el codigo ASCII numero 53 es el numero "5"

Si lo revisas en Delphi con Chr(53) puedes ver que te arroja un "5"

En 3000100000010000080 tienes 19 caracteres, si te falta el ultimo "0"
Responder Con Cita