È possibile rinnovare il certificato SSL autofirmato? Come?


18

Sono abbastanza nuovo per i certificati SSL e vorrei sapere se un certificato autofirmato che utilizzo per HTTPS può essere rinnovato per prolungare la data di scadenza senza che tutti i clienti del sito debbano passare attraverso il processo "consenti eccezione" che hanno da fare quando visitano il sito per la prima volta o, come quando emettono un nuovo certificato autofirmato creato da zero.

Ho trovato il seguente tutorial che mostra come rinnovare un certificato autofirmato usando opensslma non sono stato in grado di usarlo in modo tale che il mio browser lo accetti in silenzio senza mostrare quella schermata di avviso "Sito non attendibile":

  # cd /etc/apache2/ssl
  # openssl genrsa -out togaware.com.key 1024
  # chmod 600 togaware.com.key
  # openssl req -new -key togaware.com.key -out togaware.com.csr
    AU
    ACT
    Canberra
    Togaware
    Data Mining
    Kayon Toga
    Kayon.Toga@togaware.com
    (no challenge password)
  # openssl x509 -req -days 365 -in togaware.com.csr \
            -signkey togaware.com.key -out togaware.com.crt
  # mv apache.pem apache.pem.old
  # cp togaware.com.key apache.pem 
  # cat togaware.com.crt >> apache.pem 
  # chmod 600 apache.pem
  # wajig restart apache2

La mia configurazione è praticamente come descritta in questa risposta e sto usando i file CRT e KEY (da questo tutorial ) invece di un file PEM, quindi forse ho incasinato qualcosa cercando di applicarlo al mio caso.

Inoltre, ho trovato molte voci nel forum che suggeriscono che è del tutto impossibile rinnovare un certificato autofirmato e devo crearne uno nuovo da zero.

Qualsiasi aiuto sarebbe apprezzato ... o questa domanda sarebbe più adatta a /server// o /superuser// ?


7
Invece di sottovalutare questa domanda, si prega di dare consigli specifici su cosa migliorare al riguardo.
FriendFX,

Risposte:


23

Per definizione, un certificato autofirmato può essere considerato attendibile solo attraverso la fiducia diretta , ovvero ciò che i browser Web come Firefox mostrano come processo "consenti eccezioni". Un certificato molto specifico, fino all'ultimo bit, è dichiarato "attendibile". Non è possibile modificare nulla in un certificato senza uscire da questo modello e, in particolare, dalla data di scadenza, che fa parte dei dati contenuti nel certificato.

Puoi immaginare il rinnovo come una specie di cosa familiare: quando un certificato viene "rinnovato", in realtà viene sostituito da un fratello più giovane. I clienti accettano il nuovo certificato in silenzio perché condivide la stessa origine del certificato precedente. I certificati autofirmati sono orfani intrinseci: non hanno origini. Quindi, nessun fratello e nessuna trasmissione automatica.

(A parte questo fatto ancestrale, il rinnovo è la creazione di un nuovo certificato. I certificati sono immutabili . Il "rinnovo" è un modo di pensare al rapporto tra il vecchio e il nuovo certificato.)

Se si vuole essere in grado di fare i rinnovi silenziose, allora avete bisogno di un self-signed CA certificato . Emetti certificati per i tuoi server da quella CA e chiedi ai tuoi clienti di fidarsi di quella CA. Naturalmente questo è chiedere molto: una CA di cui ti fidi è una CA che può falsificare l'intera Internet ai tuoi occhi. Fondamentalmente, questa soluzione riguarda la creazione e la manutenzione della propria CA, che è una responsabilità e un po 'di lavoro.


La prossima volta che produci un certificato autofirmato, rendilo duraturo. I certificati scadono principalmente per far funzionare la revoca (la scadenza del certificato impedisce a CRL di crescere indefinitamente). Per un certificato autofirmato, non vi è alcuna revoca, quindi è possibile rendere il certificato valido per 20 anni. O per 2000 anni, del resto (anche se il problema dell'anno 2038 potrebbe apparire ad un certo punto, a seconda del software client).


Grazie per la risposta estesa! Mi chiedo però cosa significhi in relazione al tutorial a cui mi sono collegato. È solo per i certificati CA autofirmati? Immagino di aver appena sperato (e pensato dopo aver letto il tutorial) che ci fosse un modo per leggere nella chiave privata quella precedente e crearne una nuova, "compatibile" ... che assomiglia a un "bambino" piuttosto che a un "orfano". Bella analogia, a proposito!
FriendFX,

@FriendFX - Quello che vuoi non è possibile. Tom ha ragione, il renweal genera un nuovo certificato.
Ramhound,

@Ramhound - Ho capito. L'unica domanda aperta è: qual è lo scopo di quel tutorial allora?
FriendFX,

@FriendFX - È stato scritto da un ragazzo a caso su Internet solo perché hanno un blog non significa che capiscano di cosa stanno scrivendo. L'autore semplicemente non spiega che il tutorial si tradurrà in un nuovo certificato
Ramhound,

3
@FriendFX Sì, questa esercitazione funzionerà solo per i certificati CA autofirmati. Se si utilizzano la stessa coppia di chiavi e l'oggetto, è possibile creare più certificati CA che soddisferanno ciascuno come emittente valido per i certificati emessi; questi certificati possono anche essere emessi da diverse CA principali, che si chiama "interconnessione".
Calrion,

3

Risposta breve: No.

Fidarsi di un certificato autofirmato è come fidarsi di un passaporto individuale anziché del Paese che lo rilascia. Se ricevi un nuovo passaporto, non verrà automaticamente considerato attendibile da qualcuno che si fida di quello vecchio, in particolare perché è una cosa diversa con attributi diversi (numero di passaporto, date, ecc.); non c'è base per qualcuno che si fidi esplicitamente del vecchio passaporto per sapere che si può fidare di quello nuovo.


0

Se stai usando certificati autofirmati (ti consiglio di usare xca su windows) puoi semplicemente impostare la data di scadenza su 7999-12-31 (che è il tempo massimo per UTC) e la data iniziale su 1970-01-01 (per compatibilità con data / ora non configurate correttamente nei PC)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.