Вы можете сгенерировать самозаверяющий сертификат X.509, используя OpenSSL - в Интернете есть много учебников.Сертификаты имеют стандартизированные форматы и не являются специфичными для Java.
openssl req -x509 -newkey rsa:3072 -sha256 -nodes -keyout privkey.pem -out selfsigned.pem
openssl pkcs8 -in privkey.pem -nocrypt -outform DER -out privkey.p8
openssl x509 -in selfsigned.pem -outform DER -out selfsigned.crt
Это создает два файла для сертификата (который содержит открытый ключ) и один для закрытого ключа.Существует также PEM-кодированный закрытый ключ и сертификат, который Java не обрабатывает напрямую.Файлы закрытых ключей не зашифрованы и не защищены иным образом, поэтому используйте его только для целей тестирования.
Сертификат совместим с CertificateFactory
для "X.509"
.Закрытый ключ совместим с KeyFactory
с "RSA"
в качестве алгоритма и PKCS8EncodedKeySpec
.
Сама Java не может использоваться напрямую когда дело доходит до генерации сертификатов.Вы можете использовать Bouncy Castle или даже EJBCA, если требуется генерация кода, но это довольно крутая кривая обучения.