Использование хранилища ключей с javax.crypto для шифрования / дешифрования файлов - PullRequest
1 голос
/ 24 апреля 2011

Мне посоветовали посмотреть здесь: http://exampledepot.com/egs/javax.crypto/DesFile.html для получения исходного кода шифрования / дешифрования с использованием import javax.crypto. Я сгенерировал свой ключ с помощью keytool, и теперь я не знаю, как передать сгенерированные ключи в это приложение для шифрования и дешифрования.

Моя ситуация такова, что у меня есть XML-файл, хранящийся в сети (в нем хранятся детали конфигурации), и перед тем, как проанализировать его с помощью XML-анализатора, я должен его расшифровать. Прежде всего я должен, конечно, зашифровать его, прежде чем он выйдет в сеть.

Вопрос в том, как передать сгенерированные ключи в код, видимый в ссылке в первом ряду?

Спасибо

1 Ответ

5 голосов
/ 24 апреля 2011

Как загрузить KeyStore описано в JavaDoc класса KeyStore :

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
// get user password and file input stream
char[] password = getPassword();
java.io.FileInputStream fis = new java.io.FileInputStream("C:/mykeystore.jks");
ks.load(fis, password);
fis.close();

После загрузки хранилища ключей вы можете загрузить ключ:

Key myKey = ks.getKey("mykeyalias", password);

Псевдоним ключа - это тот, который вы указали с помощью keytool.Используя myKey, вы можете инициализировать экземпляр Cipher или использовать, например, CipherOutputStream / CipherInputStream

...