Я работаю над приложением Android для шифрования и дешифрования с использованием алгоритма RSA. Я намерен расшифровать файл, зашифрованный сервером с помощью файлов RSACertificate.der и RSAPrivatekey.p12.
Теперь у меня есть файлы Example.encriptedfile, RSACertificat.der и RSAPrivatekey.p12. Я хотел бы расшифровать приведенный выше файл example.encrypted, используя указанные выше ключи в JAVA.
Реализация для получения кода Privatekey And Decryption с использованием Cipher
Это файл example.encrypted.
byte[] descryptedData = null;
try {
byte[] data = new byte[(int) file.length()];
new FileInputStream(file).read(data)
KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(con.getAssets().open("rsaPrivate.p12"), "password".toCharArray());
pk = (PrivateKey)keystore.getKey("1", "password".toCharArray());
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, pk );
descryptedData = cipher.doFinal(data);
} catch (Exception e) {
e.printStackTrace();
}
return new String(descryptedData);
Исключение для следующего кода:
java.security.InvalidKeyException: unknown key type passed to RSA
at com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineInit(CipherSpi.java:277)
at com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi.engineInit(CipherSpi.java:381)
at javax.crypto.Cipher.init(Cipher.java:519)
at javax.crypto.Cipher.init(Cipher.java:479)
Так может ли кто-нибудь предоставить предложения и решения для реализации этого
Заранее спасибо.
Но то же самое