Ho problemi a capire qual è la differenza tra il numero di serie di un certificato e il suo hash SHA1.
L'MSDN dice:
Serial number A number that uniquely identifies the certificate and is issued by the certification authority.
Quindi posso identificare un certificato tramite il suo numero di serie, giusto?
Wikipedia dice per l'hash:
Thumbprint: The hash itself, used as an abbreviated form of the public key certificate.
Quindi l'hash identifica la chiave (ad esempio RSA).
Attualmente faccio qualche ricerca sui certificati delle app Android e ho trovato alcuni certificati interessanti:
[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
E ci sono molti altri che condividono la stessa serie, ma hanno hash diversi.
Quindi può esserci un certificato con chiave diversa? Chi sta creando il numero seriale durante la creazione di un certificato per un'app Android? Per l'hash è chiaro, ma posso creare un nuovo certificato con lo stesso numero di serie di un altro certificato?
Posso essere sicuro che un certificato con lo stesso numero di serie sia stato creato dalla stessa persona?