Jak utworzyć certyfikat X509 przy użyciu Java?

Chcę utworzyć certyfikat X509 przy użyciu języka Java, a następnie wyodrębnić z niego klucz publiczny.

Przeszukałem internet i znalazłem wiele przykładów kodu, ale wszystkie mają błędy (nieznana zmienna lub nieznany typ) lub mają wiele ostrzeżeń, które mówią coś w rodzaju: „metoda ... z typu ... jest przestarzała” itd.

Na przykład, dlaczego poniższy kod nie działa:

PublicKey pk;
CertificateFactory cf = CertificateFactory.getInstance("X.509");
String PKstr = pk.toString();
InputStream PKstream = new ByteArrayInputStream(PKstr.getBytes());
X509Certificate pkcert = (X509Certificate)cf.generateCertificate(PKstream);


Czy ktoś może mi pokazać, jak utworzyć certyfikat przy użyciu czystego Java lub Bouncy Castle, a następnie uzyskać z tego klucz publiczny?

Dziękuje wszystkim.

questionAnswers(2)

yourAnswerToTheQuestion