Как использовать passphrase для RSAPrivateKey в java?

370
22 сентября 2017, 18:22

При кодировании и декодировании я пользуюсь RSA ключами 2048. Для дополнительной защищенности требуется использовать passphrase для RSAPrivateKey методом AES 128.

Я генерирую ключи, согласно требованиям выше, но вот как воспользоваться passphrase для расшифровки ключа методом AES, я не знаю.

Не могу найти примеры или хотя бы примерное описание того, как это делается на java.

Вот я инициализирую приватный ключ (так же потом и публичный):

    String PRIVATE_KEY_FILE_RSA = "src/pri.der";
    File privKeyFile = new File(PRIVATE_KEY_FILE_RSA);
    // read private key DER file
    DataInputStream dis = new DataInputStream(new FileInputStream(privKeyFile));
    byte[] privKeyBytes = new byte[(int) privKeyFile.length()];
    dis.read(privKeyBytes);
    dis.close();
    KeyFactory keyFactory = KeyFactory.getInstance("RSA");
    // decode private key
    PKCS8EncodedKeySpec privSpec = new PKCS8EncodedKeySpec(privKeyBytes);
    RSAPrivateKey privKey =(RSAPrivatKey) keyFactory.generatePublic(pubSpec);

После чего использую их:

Algorithm algorithm = Algorithm.RSA256(pubKey, privKey);
...
READ ALSO
Отправка части строки в сеть

Отправка части строки в сеть

Имеем сокет, с ним имеем DataInputStream и DataOutputStreamТак-же есть BufferedReader, который читает текст из файла, но через out

269
Как передать массив байт по Json

Как передать массив байт по Json

Приветствую! Есть необходимость передать массив байтов по jsonНо у меня это не получается

409
Проблемы с кодировкой ответа сервера в eclipse

Проблемы с кодировкой ответа сервера в eclipse

Из java-сервлета посылаю на сторонний web-сервер GET запрос, получаю в ответ html код, запихиваю этот код в строкуСмотрю в строку -а русские буквы...

288
Проблема при установке JRE

Проблема при установке JRE

Вот что выдает при установке: JRE Error code:1618

229