it-swarm-eu.dev

La differenza tra Identificatore chiave oggetto e sha1Fingerprint nei certificati X509

Ho alcuni SW che estrae i dati dei certificati e il SW utilizza OpenSSL. Sono confuso qual è la differenza tra subjectKeyIdentifier e sha1Fingerprint. Entrambi sono valori di hash. La mia intuizione è che subjectKeyIdentifier è l'hash della chiave pubblica del certificato e sha1Fingerprint è l'hash dei campi globali del certificato. Questo riferimento dice del subjectKeyIdentifier:

Questo è un valore hash del certificato SSL.

Questo è un esempio di ciò che ottengo dal SW:

"subjectKeyIdentifier": "A8:XX:6A:XX:04:7D:DD:BA:E6:D1:XX:XX:XX:45:65:EF:F3:XX:EC:XX", "sha1Fingerprint": "E6:XX:XX:5B:06:XX:50:9B:XX:82:XX:2D:XX:6E:XX:97:XX:95:XX:CB"

Nota: XX negli esempi viene utilizzato per la redazione.

La domanda è: qual è la differenza tra i due hash? A cosa serve ogni hash?

12
user9371654

subject key identifier (SKID) è un'estensione x509 e quindi effettivamente parte del certificato. L'impronta digitale invece non fa parte del certificato ma viene invece calcolata dal certificato. Un certificato non deve necessariamente avere uno SKID e può avere al massimo uno SKID. Ma poiché l'impronta digitale è solo calcolata dal certificato, possono esserci più impronte digitali, come una che utilizza SHA-1, una che utilizza SHA-256, una che utilizza MD5 ...

Lo SKID viene utilizzato per creare la catena di fiducia non basata sull'oggetto del certificato e sull'emittente ma sullo SKID del certificato e sull'identificatore della chiave di autorità (AKID). Ciò semplifica la gestione delle situazioni in cui viene utilizzata la stessa stringa oggetto con più certificati CA. Mentre RFC 3280 descrive modi comuni per generare SKID l'unico vero requisito è che lo SKID del certificato CA deve corrispondere all'AKID in tutti i certificati emessi da questa CA.

Nell'esempio seguente si può vedere chiaramente che SKID BB:AF:7E:02:3D:FA:... dell'emittente corrisponde all'AKID del certificato emesso:

    ...
    Issuer: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Certification Authority
    ...
    Subject: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Domain Validation Secure Server CA
    ...
    X509v3 extensions:
        X509v3 Authority Key Identifier: 
            keyid:BB:AF:7E:02:3D:FA:A6:F1:3C:84:8E:AD:EE:38:98:EC:D9:32:32:D4

    ----

    ...
    Issuer: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Certification Authority
    ...
    Subject: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Certification Authority
    ...
    X509v3 extensions:
        X509v3 Subject Key Identifier: 
            BB:AF:7E:02:3D:FA:A6:F1:3C:84:8E:AD:EE:38:98:EC:D9:32:32:D4
17
Steffen Ullrich