3

Я могу сгенерировать свой личный ключ и сертификат следующим образом:

openssl genrsa -out privatekey.pem 2048

openssl req -new -x509 -key privatekey.pem -out g4certificate.pem -days 1095

Копирование + вставка частей сертификата / закрытого ключа в базу данных и выполнение тестового инструментария возвращает успешный обмен ключами HMAC.

Тем не менее, я приобрел ssl-сертификат GlobalSign и получил файл .pfx.

Как можно извлечь эквивалентный закрытый ключ / сертификат RSA, аналогичный тем, которые использовались, когда инструментарий вернул успешный обмен ключами?

Моя попытка:

Я попытался преобразовать файл .pfx в файл .pem, используя следующую команду:

openssl pkcs12 -nodes -in filename.pfx -out filename.pem

Полученный файл .pem содержит 3 сертификата и закрытый ключ с заголовком «----- BEGIN PRIVATE KEY -----», а не «----- BEGIN RSA PRIVATE KEY -----».

Я попытался скопировать + вставить закрытый ключ в новый документ и сохранить его как privatekey.key. Затем преобразуйте его с помощью следующей команды:

openssl rsa -in privatekey.key -out privatekey_new.key

Это создает файл с заголовком «----- BEGIN RSA PRIVATE KEY -----», который похож на самогенерируемый ключ RSA.

Однако при попытке обмена ключами я получаю следующую ошибку:

DEBUG [AbstractTest] - Failed: 
java.security.InvalidKeyException: Wrong key usage
at javax.crypto.Cipher.init(Cipher.java:1674)
at javax.crypto.Cipher.init(Cipher.java:1580)

1 ответ1

2

Неправильное использование ключа

Это означает, что сертификат нельзя использовать для того, что вы пытаетесь сделать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .