Я могу сгенерировать свой личный ключ и сертификат следующим образом:
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)