如何在 API 18 上为 KeyPairGeneratorSpec 设置密钥大小?

Jon*_*nik 5 android android-keystore android-4.3-jelly-bean android-security

Android Keystore (with KeyPairGeneratorSpecetc) 在 API 级别 18 中引入。 但是,该方法KeyPairGeneratorSpec.Builder.setKeySize()仅在 API 级别 19 中引入。

在支持 API 级别 18 (Android 4.3) 的同时,是否可以设置密钥大小?

Bry*_*yan 5

根据文档,似乎 API 级别 18 确实支持不同的 RSAKey大小。但根据另一个来源(参考 API 级别 18):

目前无法指定密钥大小或类型,生成的密钥默认为 2048 位 RSA。

不过,我想您应该能够使用不同的AlgorithmParameterSpec,例如RSAKeyGenParameterSpec自 API 级别 1 以来可用的旧的;它将密钥大小作为构造函数参数:

keyPairGenerator.initialize(new RSAKeyGenParameterSpec(keySize, publicExponent));
Run Code Online (Sandbox Code Playgroud)