Создание сертификата X509 в Java без BouncyCastle?

Рецепт Plaxo OpenID (с сайта OpenID ) был одним из лучших, как я видел.

35
задан Ahmed Ashour 28 January 2019 в 11:04
поделиться

3 ответа

Возможность подписывать сертификаты не является частью стандартной библиотеки или расширения Java.

Большая часть кода, который необходим, чтобы сделать это самостоятельно, является частью ядра. Существуют классы для кодирования и декодирования имен X.500, расширений сертификатов X.509, открытых ключей для различных алгоритмов и, конечно же, для фактического выполнения цифровой подписи.

Реализовать это самостоятельно нетривиально, но это определенно выполнимо - Наверное, я потратил 4 или 5 полных дней, когда впервые сделал рабочий прототип для подписи сертификата. Для меня это было фантастическим учебным упражнением, но трудно оправдать такие расходы, когда есть полезные библиотеки, доступные бесплатно.

18
ответ дан 27 November 2019 в 06:33
поделиться

Все основные компоненты для создания самозаверяющего сертификата (подпись, кодировка X509 и т. Д.) Доступны в JRE. В отличие от BC, Sun JCE не предоставляет никаких публичных вызовов для подписания сертификата. Однако, все функции доступны в Keytool. Для этого вы можете просто скопировать код из keytool. Вам нужно скопировать метод doSelfCert () .

4
ответ дан 27 November 2019 в 06:33
поделиться

Зависит от того, что именно вы хотите сделать (и, возможно, ваше определение "Разумно"). Как указал Кодер ZZ, вы можете создать самоподписанный сертификат непосредственно путем копирования keytool. Но я не верю, что вы можете создать объект запроса сертификата PKCS10 со стандартным JCE, что вам, вероятно, придется сделать, если вы хотите создать стандартные CA-signed EEC.

1
ответ дан 27 November 2019 в 06:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: