Tengo problemas para entender cuál es la diferencia entre el número de serie de un certificado y su hash SHA1.
La MSDN dice:
Número de serie Un número que identifica de forma única el certificado y es emitido por la autoridad de certificación.
Entonces, ¿puedo identificar un certificado por su número de serie, verdad?
Wikipedia dice para el hash:
Huella digital: el hash en sí, utilizado como una forma abreviada del público certificado de clave.
Por lo tanto, el hash identifica la clave (por ejemplo, RSA).
Actualmente estoy investigando sobre los certificados de aplicaciones de Android y encontré algunos certificados interesantes:
[Issuer][Serial][SHA1 Hash][Valid From]
[C=US, L=Mountain View, S=California, O=Android, OU=Android, CN=Android, [email protected]][00936EACBE07F201DF][BB84DE3EC423DDDE90C08AB3C5A828692089493C][Sun, 29 Feb 2008 01:33:46 GMT]
[C=US, L=Mountain View, S=California, O=Android, OU=Android, CN=Android, [email protected]][00936EACBE07F201DF][6B44B6CC0B66A28AE444DA37E3DFC1E70A462EFA][Sun, 29 Feb 2008 01:33:46 GMT]
[C=US, L=Mountain View, S=California, O=Android, OU=Android, CN=Android, [email protected]][00936EACBE07F201DF][0B4BE1DB3AB39C9C3E861AEC1348110062D3BC1B][Sun, 29
Y hay muchos más que comparten la misma serie, pero tienen hashes diferentes.
¿Entonces puede haber un certificado con una clave diferente? ¿Quién está creando realmente el número de serie al crear un certificado para una aplicación de Android? Para el hash está claro, pero ¿puedo crear un nuevo certificado con el mismo número de serie que otro certificado?
¿Puedo estar seguro de que la misma persona creó un certificado con el mismo número de serie?