Синтаксический анализ сертификатов с помощью bouncycastle

#java #security #certificate

#java #Безопасность #сертификат

Вопрос:

Я новичок в сертификатах. Я пытался импортировать сертификаты в течение последних нескольких часов, и чем больше я углубляюсь в вопросы безопасности, тем больше кажется, что это невозможно понять.

Вот чего я пытаюсь достичь в java:

  • пользователь может загружать любой форматированный сертификат с необязательной парольной фразой
  • Мне нужно преобразовать сертификат в недвоичный формат PEM
  • Извлеките закрытый и открытый ключи для хранения в базе данных, выдайте ошибку, если отсутствует один из двух

До сих пор мне удавалось анализировать некоторые сертификаты, используя X509Certificate от java security, но я не могу получить закрытый ключ. Я также пробовал bouncy castle, но и там безуспешно.

Спасибо за вашу помощь

Ответ №1:

Содержит X509Certificate только открытый ключ.

Закрытые ключи обычно кодируются с использованием PKCS # 8. Попробуйте KeyFactory с PKCS8EncodedKeySpec помощью .

Комбинированные сертификаты открытого ключа с закрытыми ключами обычно кодируются с использованием PKCS # 12 (.pfx, .p12). Попробуйте KeyStore использовать тип «PKCS12» (с Bouncy Castle в качестве поставщика).