keyStore rsa privateKeyEntry,公钥和私钥等于

时间:2018-03-26 09:39:34

标签: android rsa keystore private-key public-key

我生成并将RSA密钥存储到android keyStore中, 然后我生成了一个AES密钥并使用RSA公钥对其进行加密,当我想解密加密的AES-key时出现此错误:java.security.InvalidKeyException:需要RSA私钥或公钥

    KeyStore.PrivateKeyEntry privateKeyEntry = (KeyStore.PrivateKeyEntry) keyStore.getEntry(KEY_ALIAS, null);
    Cipher output = Cipher.getInstance(RSA_MODE, "AndroidOpenSSL");
    output.init(Cipher.DECRYPT_MODE, privateKeyEntry.getPrivateKey());

在log privateKeyEntry.getCertificate()之后.getPublicKey() 和privateKeyEntry.getPrivateKey()

我看到了mModulas的钥匙是平等的,有人对此有任何想法吗?

1 个答案:

答案 0 :(得分:1)

您正在使用由" AndroidKeyStore"管理的密钥。键。尝试删除" AndroidOpenSSL"这里

 Cipher output = Cipher.getInstance(RSA_MODE, "AndroidOpenSSL");
  

在记录privateKeyEntry.getCertificate().getPublicKey()privateKeyEntry.getPrivateKey()之后,我看到密钥mModulas是等于的,有人对此有任何想法吗?

私钥和公钥的公共模数相同。这是正常的