これを行うことはできますが、必ずしも良い習慣ではありません。
まず、「SSL 証明書」というと、おそらく「X.509 証明書」を意味します。SSL/TLS はほとんどの場合 X.509 証明書を使用しますが、 OpenPGP 証明書も使用できます(私の知る限り、GnuTLS のみがそれらをサポートしています)。
「OpenPGP 証明書」という表現も使用していることに注意してください。ほとんどの人はそれらを「(Open)PGP 公開鍵」と呼んでいますが、実際には証明書です。公開鍵、識別子、およびいくつかの属性の組み合わせであり、署名を添付する他のエンティティによって署名されています。全体的な証明書を作成します。厳密には、単なる公開鍵ではありません。
X.509 証明書と PGP 証明書の主な違いは、X.509 は 1 つの署名 (発行者の署名) しか持つことができないのに対し、PGP 証明書には複数の署名を追加できることです。(PGP モデルは階層的な PKI のようなモデルに使用できますが、PKI モデルは Web-of-Trust モデルの処理には使用できません。)
この Java コードは、一連の PGP キーを自己署名 X.509 証明書に「変換」する方法を示しています。原則として、それを CSR に変換して、CA から X.509 証明書を取得することもできます。そうするのが良い考えかどうかは別の問題です。
まず、通常、新しい鍵ペアを時々再生成することをお勧めします。通常、これが SSL に使用される X.509 証明書の有効期限が切れる理由の 1 つです (PGP 署名にも期限がある場合があります)。
また、すべての卵を同じバスケットに効果的に入れることもできます。キーの 1 つが危険にさらされると、X.509 証明書と PGP 証明書の両方が危険にさらされます。
さらに重要なことは、署名と暗号化に同じキーを再利用することは悪い習慣と見なされていることです: 2 つの異なるアプリケーション (SSL/TLS と GnuPG) にそれらを使用すると、問題が悪化するだけです。