Как сгенерировать личный ключ RSA от *PEM String в Java [Duplicate]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как сгенерировать личный ключ RSA от *PEM String в Java [Duplicate]

Сообщение Anonymous »

Я хочу генерировать закрытый ключ из строки (файл .pem < /code> в Java. < /p>

private static final String test = "-----BEGIN RSA PRIVATE KEY-----\n" +
"MIIEpAIBAAKCAQEAvcCH8WsT1xyrZqq684VPJzOF3hN5DNbowZ96Ie//PN0BtRW2\n" +
// and so on
"-----END RSA PRIVATE KEY-----";

try {
String privKeyPEM = test.replace("-----BEGIN RSA PRIVATE KEY-----\n", "");
privKeyPEM = privKeyPEM.replace("-----END RSA PRIVATE KEY-----", "");

byte [] encoded = Base64.decode(privKeyPEM);

PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encoded);
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey privKey = kf.generatePrivate(keySpec);
}
catch (Exception e) {
e.printStackTrace();
}
< /code>

Последняя строка (функция GeneratePrivate) бросает это исключение: < /p>

java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : algid parse error, not a sequence
at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(Unknown Source)
at java.security.KeyFactory.generatePrivate(Unknown Source)
at Test.main(Test.java:52)
Caused by: java.security.InvalidKeyException: IOException : algid parse error, not a sequence
at sun.security.pkcs.PKCS8Key.decode(Unknown Source)
at sun.security.pkcs.PKCS8Key.decode(Unknown Source)
at sun.security.rsa.RSAPrivateCrtKeyImpl.(Unknown Source)
at sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(Unknown Source)
at sun.security.rsa.RSAKeyFactory.generatePrivate(Unknown Source)
... 3 more
< /code>

Если я изменяю закрытый ключ на значение из файла .der < /code>, он работает правильно, но мне нужно сгенерировать файл закрытого ключа из файла .pem < /code>. < /p>

Я прикрепил экранинг байтов, как это было с трудом, и однажды, и однажды, и не склонен, и один из них, и один, не был приложн и не был приложн \ n и не был приложн. Файл. < /p>

большее изображение < /p>

< /p>

feeard thing заключается в том, что выход из файла отличается от Poster -stering. />
Если я попытаюсь кодировать файл .der < /code> с base64, результат отличается от строки в файле .pem < /code>. Почему это так?

Подробнее здесь: https://stackoverflow.com/questions/183 ... ng-in-java
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»