Il nome comune è obbligatorio per i certificati digitali?

8

Sto lavorando a un progetto, in cui utilizziamo il nome comune come identificatore di base di un certificato. Tuttavia, l'importazione di certificati senza Nome comune non riesce.

Qual è il modo predefinito per utilizzare i certificati digitali? Quale identificatore dovremmo scegliere di essere in grado di importarli?

    
posta Rahulmishra72 10.04.2014 - 16:18
fonte

2 risposte

7

Per quanto riguarda X.509 , il nome comune non è obbligatorio. Tuttavia, un numero di sistemi utilizzerà il CN per scopi di visualizzazione, ad es. la maggior parte della GUI "certificate manager" in Windows. Pertanto, è consigliabile, se non altro per semplificare le attività di sysadmin, includere il CN ragionevolmente preciso nei certificati.

Se si desidera, da un'applicazione, individuare un certificato specifico, l'identificatore valido da utilizzare è la "identificazione personale", che in realtà è un hash del certificato. Finché la funzione hash è resistente alle collisioni (Microsoft usa SHA-1, che è ancora abbastanza robusto a tale riguardo), non ci saranno due certificati distinti che mostreranno la stessa identificazione personale.

Il metodo "standard X.509" per fare riferimento a un certificato specifico è utilizzare la coppia issuerDN + numero di serie . Solo la combinazione di entrambi i valori è (presumibilmente) unica; i numeri seriali da soli non lo tagliano. Ricorda che sto parlando del nome dell'emittente , non del soggetto ; e questo è l'intero DN, non solo la parte CN di esso. Inoltre, è consentito che un certificato abbia un issuerDN vuoto purché contenga anche un'estensione Issuer Alt Name con il DN completo. Ciò significa che l'uso corretto dell'emittente + coppia seriale può essere alquanto complesso. L'identificazione personale è più semplice.

    
risposta data 10.04.2014 - 16:39
fonte
2

Nel caso del protocollo HTTPS, Nome comune può anche essere utilizzato da alcune applicazioni client per la verifica dell'identità del server. Il RFC 2818 dice quanto segue sull'identità del server:

If a subjectAltName extension of type dNSName is present, that MUST be used as the identity. Otherwise, the (most specific) Common Name field in the Subject field of the certificate MUST be used. Although the use of the Common Name is existing practice, it is deprecated and Certification Authorities are encouraged to use the dNSName instead.

Ciò significa che, nel caso del protocollo HTTPS, i server dovrebbero usare subjectAltName come fonte principale di identificatore e supportare il Nome comune per la compatibilità con le versioni precedenti.

    
risposta data 10.04.2014 - 18:36
fonte

Leggi altre domande sui tag