我以以下方式创建KeyPair:
static KeyPair GenerateKeyPair(String keyStoreAlias) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidAlgorithmParameterException
{
KeyPairGenerator kpg = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_EC, "AndroidKeyStore");
kpg.initialize(
new KeyGenParameterSpec.Builder(keyStoreAlias, KeyProperties.PURPOSE_SIGN)
.setDigests(KeyProperties.DIGEST_SHA256)
.setUserAuthenticationRequired(true)
.build());
return kpg.generateKeyPair();
}
现在,除了签名之外,我还想加密和解密。我该怎么办?
我想我至少缺少PURPOSE_ENCRYPT | PURPOSE_DECRYPT。其他参数?可以使用椭圆形密钥对来加密和解密哪些密码?
我不想使用RSA,因为其他一些后端系统依赖于EC。