2013-03-01 7 views
8

Recentemente abbiamo creato un server con tomcat e abbiamo anche aggiunto il supporto SSL per questo piccolo server. Per il supporto SSL, abbiamo bisogno di un certificato emesso da un terzo emittente come Entrust, Thawte, ecc.SSL: un certificato del server si collega a una macchina specifica?

Un collega mi ha detto che il certificato è vincolante per una macchina specifica. Questo è il momento in cui abbiamo ottenuto il certificato emesso, quindi questo certificato non può essere utilizzato su un'altra macchina.

Ne dubito completamente perché la CSR non contiene alcuna informazione della macchina. È vero?

Grazie

+0

Alcuni provider SSL applicano questo non tecnologico: si acquista una licenza per singolo server e si impegna contrattualmente a usarlo solo su quello. – ceejayoz

risposta

9

Il certificato non è necessariamente vincolati ad una particolare macchina. Per essere in grado di "utilizzare un certificato" su una macchina, sono necessari due elementi: il certificato stesso e la sua chiave privata. Dovresti aver generato la chiave privata insieme al CSR (a seconda degli strumenti che hai usato).

Alcuni sistemi non consentono di riestrarre la chiave privata (ad esempio, Windows ha un'opzione per importare una chiave privata in un modo in cui non è più possibile esportarla, ma per quanto ho capito, questo può essere ignorato se si dispone di diritti di accesso sufficienti su quella macchina). Nei casi in cui utilizzi una smart card o un token hardware, la chiave privata può essere generata lì in modo tale da non poterla estrarre (in questo caso, lo spostamento del token nella nuova macchina avrebbe senso se necessario) .

L'altra parte è il certificato e il suo nome. I nomi host nel certificato (che spesso si trovano anche nella CSR, anche se in definitiva non è necessario), dovrebbero essere i nomi host di questa macchina, come visto dai client che cercano di connettersi ad essa (vedere RFC 2818 Sezione 3.1 per dettagli sulla verifica del nome host per HTTPS). Di conseguenza, sebbene il certificato stesso non sia legato a una particolare macchina in termini di hardware, sarà legato a questo nome host (che consente di modificare l'hardware per questa macchina o il relativo indirizzo IP, ad esempio).

+0

Questo significa che il certificato è legato a un nome host. Allora come posso vedere il nome host nel certificato? È il CN? Un'altra domanda è che il client SSL richiede sempre il controllo del nome host? (Non credo) – zgcharley

+0

Se esistono nomi alternativi di soggetto DNS, il nome host può essere uno di questi. Altrimenti, è il CN nel DN soggetto. I client SSL dovrebbero sempre controllare il nome host (alcuni non lo fanno, ma questo li rende vulnerabili agli attacchi MITM - non verificare che il nome debba essere trattato come un bug di sicurezza). – Bruno

+0

Grazie per la tua spiegazione! – zgcharley

Problemi correlati