I don't care about browsers complaining about the fact that they don't
know about me, because I will be the only one to use HTTPS.
Il rischio per la sicurezza (supponendo che il certificato CA non sia installato sui client) è che ora sei aperto agli attacchi man-in-the-middle. Qualcuno può fingere di essere il server, eseguire il tunneling di tutte le comunicazioni sul server attuale e il client non ha idea che stia parlando al server sbagliato. In altre parole, hai praticamente nessuna sicurezza. C'è un motivo per cui il browser si lamenta. Se la sicurezza non è un problema, non hai problemi: -)
Se punti il tuo browser sul sito web della tua banca e presenta un certificato autofirmato (o qualsiasi certificato non verificabile), inserirai le tue credenziali? Pessima idea.
Avere un certificato di root di fiducia è il modo in cui i client verificano che i server sono quelli che sostengono di essere che è un componente critico di un sistema a chiave pubblica (supponendo che le parti non possano scambiare le chiavi pubbliche con mezzi sicuri.)
Si noti che è possibile rilasciare certificati che hanno ancora una catena di fiducia in una CA nota, non tutte le cert che si usano devono essere emesse da una CA nota, tutto ciò che serve è una catena di fiducia per quella CA. Quindi stai praticamente agendo come una CA "intermedia". Come altri hanno notato, puoi anche avere la tua CA "root" e rilasciare certificati firmati da questo. La chiave però è avere un modo per spingere quel cert di root ai client, quindi il browser non avviserà e avrai la sicurezza che desideri ...