Puoi farlo, ma non è necessariamente una buona pratica.
In primo luogo, quando si dice "certificato SSL", si intende probabilmente "certificato X.509". SSL/TLS utilizza i certificati X.509 la maggior parte del tempo, ma può anche usare OpenPGP certificates (per quanto ne so, solo GnuTLS li supporta).
Nota che sto anche usando l'espressione "Certificato OpenPGP". La maggior parte delle persone li chiama "chiavi pubbliche PGP" (Open) ", ma sono in realtà dei certificati: sono la combinazione di una chiave pubblica, un identificatore e alcuni attributi, firmati da altre entità che ne attribuiscono la firma, in modo da forma il certificato generale. A rigor di termini, non è solo una chiave pubblica.
La differenza principale tra un certificato X.509 e un certificato PGP è che X.509 può avere solo una firma (quella dell'emittente), mentre è possibile aggiungere più firme su un certificato PGP. (Il modello PGP può essere utilizzato per un modello gerarchico simile a PKI, mentre il modello PKI non può essere utilizzato per gestire il modello Web-of-Trust.)
This Java code dimostra come "convertire" un set di PGP chiavi in un certificato X.509 autofirmato. In linea di principio, potresti anche trasformarlo in un CSR per ottenere un certificato X.509 dalla CA. Se sia una buona idea farlo è una questione diversa.
In primo luogo, di solito è una buona idea ri-generare nuove coppie di chiavi una volta ogni tanto. In genere, questo è uno dei motivi per cui i certificati X.509 utilizzati per SSL hanno una data di scadenza (le firme PGP possono anche essere limitate nel tempo).
Si dovrebbero anche mettere tutte le uova nello stesso cesto. Se una delle chiavi viene compromessa, entrambi i certificati X.509 e PGP saranno compromessi.
Ancora più importante, it's considered bad practice to re-use the same keys for signing and encryption: utilizzarli per due diverse applicazioni (SSL/TLS e GnuPG) peggiorerebbe solo il problema.
I certificati non sono "certificati SSL" e non hanno nulla a che fare con SSL (sebbene possano essere utilizzati in SSL, così come le chiavi OpenPGP possono). –
Bello come il _idea di_ avere "solo una chiave privata per proteggere" suoni, stai davvero mettendo "il tuo unico uovo in molti cesti" per così dire (anti-ridondante): se il tuo server web viene violato, ora il tuo sacro La chiave PGP è stata eliminata! E se il tuo laptop viene rubato/incrinato, ora hai una chiave che può essere facilmente utilizzata per MITM il tuo sito web! Meglio avere separazione dei doveri. – JamesTheAwesomeDude