Чтение закрытого ключа эллиптической кривой из файла с помощью BouncyCastle

API-интерфейсы криптографии BouncyCastle позволяют создавать и проверять цифровые подписи, используя обычныеjava.security объекты пакета, такие какjava.security.PublicKey, java.security.PrivateKey и их контейнерjava.security.KeyPair.

Предположим, я использую OpenSSL для создания .pem (или, если проще, файла .der), содержащего закрытый ключ эллиптической кривой, который я хочу использовать в своем приложении. Например, это выглядит так:

-----BEGIN EC PARAMETERS-----
BgUrgQQACg==
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIDzESrZFmTaOozu2NyiS8LMZGqkHfpSOoI/qA9Lw+d4NoAcGBSuBBAAK
oUQDQgAE7kIqoSQzC/UUXdFdQ9Xvu1Lri7pFfd7xDbQWhSqHaDtj+XY36Z1Cznun
GDxlA0AavdVDuoGXxNQPIed3FxPE3Q==
-----END EC PRIVATE KEY-----

Как использовать API BouncyCastle для полученияjava.security.KeyPair содержащий как этот закрытый ключ, так и соответствующий открытый ключ?

Обратите внимание, что я хочу использовать API-интерфейсы, доступные в BouncyCastle 1.50 (действующий на момент написания), и не использовать устаревшие API-интерфейсы. Это, к сожалению, исключаетPEMReader класс используется в других SO ответах. Кроме того, этот вопрос относится к формату эллиптических кривых; они содержат дополнительные параметры при сравнении файлов ключей RSA или DSA.

Ответы на вопрос(3)

Ваш ответ на вопрос