Не удается получить объект с открытым ключом из файла pem

#java-security

Вопрос:

У меня есть следующий код, который работает с моим файлом pem:

 byte[] byteKey = Base64.getDecoder().decode(keyBuilder.toString().getBytes());  X509EncodedKeySpec x509publicKey = new X509EncodedKeySpec(byteKey);  KeyFactory kf = KeyFactory.getInstance("RSA");   publicKey = kf.generatePublic(x509publicKey);  

Он связан с хранилищем ключей, в котором перечислены личные данные, подобные этому:

 Signature algorithm name: SHA256withRSA Subject Public Key Algorithm: 2048-bit RSA key  

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

 Signature algorithm name: RSASSA-PSS Subject Public Key Algorithm: 2048-bit RSA key  

После создания файла PEM из него и повторного запуска приведенного выше кода он выдает мне следующую ошибку:

java.безопасность.спецификация.Исключение InvalidKeySpecException: java.безопасность.Исключение InvalidKeyException: Исключение IOException: идентификатор объекта() — данные не являются идентификатором объекта (тег = -96)

Я также попытался изменить алгоритм здесь:

 KeyFactory kf = KeyFactory.getInstance("RSASSA-PSS");  

Но в нем по-прежнему говорится о той же ошибке. В чем может быть проблема?