Используя CFML (Lucee), я пытаюсь использовать AWS java SDK (v1.11) для создания подписанных URL-адресов Cloudfront, и я застреваю, пытаясь создать подпись.Проблема в том, что я не могу преобразовать свой закрытый ключ .pem в формат .der.В последней строке следующего фрагмента кода я получаю различные ошибки неверного ключа:
var derContent = FileReadBinary("C:/path/to/cert.der");
var keySpec = createObject("java", "java.security.spec.PKCS8EncodedKeySpec");
var keyFactory = createObject("java", "java.security.KeyFactory").getInstance("RSA");
var privateKey = keyFactory.generatePrivate(keySpec.init(derContent));
Я пробовал несколько попыток конвертировать файл с использованием openssl, но у меня возникают различные проблемы.
Эта команда не создает сертификат .pem:
openssl x509 -inform PEM -outform DER -text -in pk-XXXX.pem -out pk-XXXX.der
unable to load certificate
30276:error:0909006C:PEM routines:get_name:no start line:../openssl-
1.1.1a/crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
Этот сертификат создает сертификат, но я получаю ошибку invalid key format
, вызывающую generatePrivate()
openssl rsa -inform PEM -outform DER -text -in pk-XXXX.pem -out pk-XXXX.der
Кто-нибудь может предложить другие способы конвертации сертификата?Спасибо!