Как хранить закрытый ключ в хранилище ключей Android? - PullRequest
0 голосов
/ 03 октября 2019

Я хочу сохранить закрытый ключ в Android KeyStore, но у меня есть проблема с KeyStore.getInstance ("JKS"): ошибка вроде этой: java.security.KeyStoreException: JKS не найден.

Пожалуйста, помогите мнепочему это не известно для этого экземпляра?

  • У меня есть файл загрузки моего хранилища ключей: mykeystore.jks

Мой код, как показано ниже:

try {
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        keyPairGenerator.initialize(2048);
        KeyPair keyPair = keyPairGenerator.genKeyPair();
        X509Certificate certificate = generateCertificate(keyPair);
        KeyStore ks = KeyStore.getInstance("JKS");
        char[] password = "xxxxxx".toCharArray();
        try (FileInputStream fis = new FileInputStream("path\\mykeystore.jks")) {
            ks.load(fis, password);
        }
        Certificate[] certChain = new Certificate[1];
        certChain[0] = certificate;
        ks.setKeyEntry("key1", keyPair.getPrivate(), password, certChain);

    } catch(Exception e) {
        e.printStackTrace();
    }
  • Ошибка результата: java.security.KeyStoreException: JKS не найден
...