vale a dire. faccio davvero solo io ho la chiave privata o devo fidarmi che StartSSL (o qualsiasi altro provider) non lo memorizzano da soli?
vale a dire. faccio davvero solo io ho la chiave privata o devo fidarmi che StartSSL (o qualsiasi altro provider) non lo memorizzano da soli?
Devo ammettere che non ho provato StartSSL, ma le sue FAQ suggerisce più modalità di generazioni chiave per la richiesta di un certificato. Questo può dipendere dal tipo di certificato.
La modalità "Procedura guidata" (FAQ # 43) genera visibilmente la coppia di chiavi sul lato server. Anche se la FAQ # 44 ti assicura che non la tengono, hai il diritto di essere sospettosa. Questo non è considerato una buona pratica, ma probabilmente è per comodità.
I metodi alternativi normalmente utilizzati dalle CA consistono nel generare una coppia di chiavi sulla macchina dell'utente e nell'inviare solo la chiave pubblica come parte di una richiesta di firma del certificato (CSR). Un certo numero di strumenti ti consentirà di salvare un CSR. Questo può anche essere fatto manualmente usando OpenSSL, per esempio. Inoltre, è possibile generare una coppia di chiavi nel browser (che non invierà la chiave privata) e una CSR (o equivalente, ad esempio SPKAC o CMRF).
La formulazione di alcune altre domande è un po 'confusa, ma suggerisce che possono accettare richieste CSR o SPKAC.
Domande frequenti n. 33 dice " Ho creato una chiave privata invece di inviare la mia richiesta di certificato ( CSR) per il server IIS ". Opporsi alla creazione di una chiave privata per inviare una CSR è un po 'complicato, perché in ogni caso si crea una chiave privata per creare la CSR. Dalla risposta, sembra che la chiave privata debba essere conosciuta in qualche momento dal server StartSSL (" Accedi al pannello di controllo StartSSL ™ e fai clic sulla scheda" Tool Box ". Seleziona" Crea file PFX " e invia la chiave privata crittografata, il certificato e la tua password per la chiave. "), che non è una buona pratica.
Tuttavia, Domande frequenti n. 51 " Posso inviare una richiesta di certificato (CSR) per i certificati client (S / MIME)? " sembra suggerire che è anche possibile farlo senza che StartSSL necessiti di conoscere la chiave privata. (" La chiave privata e la richiesta di certificato vengono generate utilizzando il tag (Firefox) o il controllo ActiveX (Internet Explorer) ".) I limiti che impongono nella loro risposta sono alquanto artificiali. In linea di principio, non c'è alcun motivo per cui una modalità di applicazione sarebbe legata a uno scopo di utilizzo per il certificato risultante.
Il <keygen />
genera le chiavi private e pubbliche all'interno di Firefox e invia una richiesta SPKAC al server (che contiene la chiave pubblica ma non la chiave privata ed equivale approssimativamente a una CSR). Il controllo ActiveX IE può effettivamente inviare CSR (nel formato PKCS # 10). Utilizzando una di queste due modalità in-browser, quando si ottiene il certificato, viene importato sulla chiave privata generata, che è possibile esportare insieme in un pacchetto PKCS # 12 (.p12 / .pfx), se lo si desidera. Ecco perché è importante importare il certificato risultante nel browser che hai utilizzato per l'applicazione. (FF non mostra che detiene coppie di chiavi in attesa di un certificato, diventano visibili solo nelle opzioni quando si riapre il certificato.)
Modifica
Per quanto riguarda uno dei tuoi commenti:
Why again do people trust SSL more than OpenPGP?
Come molti, stai confondendo PKI e SSL / TLS .
Non sono un grande fan del modello PKI me stesso, a causa delle sue imperfezioni, ma pensare che far usare a tutti un modello Web-of-Trust (a la PGP) sia sufficiente per migliorare le cose è un po 'sincero.
Usando un modello WoT, potresti avere un sistema meno centralizzato (che suona bene), ma questo rende l'intero sistema molto più complesso e molto più difficile da pensare, specialmente per gli utenti che "vogliono solo lavoro". La difficoltà deriva principalmente dal fatto che ciascun nodo del tuo WoT deve essere considerato attendibile per due cose diverse: (a) chi sono e (b) la loro capacità di verificare chi è il loro prossimo nodo.
Affidarsi all'identità di qualcuno è una cosa, ma confidando che la propria capacità (formazione e integrità) di fare qualcosa apre una dimensione completamente diversa. Se si considera che le grandi CA, il cui compito è verificare l'identità degli altri, a volte possono avere difficoltà a farlo, aspettandosi che da tutti i membri del proprio WoT sembrino piuttosto ambiziosi. Anche se volessi limitare determinate abilità a determinati membri, la modellazione di tali regole sarebbe di per sé difficile.
Uso StartSSL e ogni volta che voglio un nuovo certificato, genero una richiesta di firma del certificato (CSR):
openssl req -out example.com-2014.csr -new -newkey rsa:2048 -nodes -keyout example.com-2014.key
Questo genera anche una chiave privata.
Quindi nel pannello di controllo di StartSSL si salta la generazione della chiave privata (pulsante denominato "Salta» »") e si invia invece il CSR generato nella pagina successiva. StartSSL riceverà la chiave pubblica dal CSR (e ignorerà tutte le altre informazioni).
Utilizzando questa procedura StartSSL non riceverà la chiave privata, perché non fa parte della CSR.
È server e non hai il 100% di garanzia che non memorizzino la tua chiave privata. È così semplice, devi fidarti di loro, se non ti fidi di loro devi andare altrove, ma il problema esiste anche lì.
Leggi altre domande sui tag tls key-generation