- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我在 API 24 中使用这个 KeyPairGeneratorSpec 对象时,我的类有效。
KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(this)
.setAlias(KEY_ALIAS)
.setSubject(new X500Principal("CN=" + KEY_ALIAS))
.setSerialNumber(BigInteger.TEN)
.setStartDate(start.getTime())
.setEndDate(end.getTime())
.build();
KeyPairGenerator kpg = KeyPairGenerator.getInstance(RSA);
kpg.initialize(spec);
keyPair = kpg.generateKeyPair();
在低于 24 的平台上编译时,出现此错误:
java.security.InvalidAlgorithmParameterException: Only RSAKeyGenParameterSpec supported
我不明白,因为 KeyPairGeneratorSpec 应该可以从 api 18 获得?
最佳答案
今天早些时候 Pixel 模拟器 (API 23) 也出现了这个问题,引发了“仅支持 RSAKeyGenParameterSpec” 异常,而 Nexus 5X (API 24) 则没有问题。
可以确认修复是将“AndroidKeyStore”作为第二个参数添加到对 KeyPairGenerator 上的 getInstance 的调用中,如上面提到的@estoke:
即:
KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
关于android - 为什么 KeyPairGeneratorSpec 在 API < 24 上抛出 InvalidAlgorithmParameterException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421743/
KeyPairGeneratorSpec自 API 23 以来已弃用。您如何处理此警告? 示例代码: KeyPairGenerator kpg = KeyPairGenerator.getInstan
我正在构建一个 keystore ,我将在其中隐藏我的授权和刷新 token 。我使用的是 API 19。查看 KeyPairGeneratorSpec 的示例。大多数示例使用虚拟证书 (X500Pr
当我在 API 24 中使用这个 KeyPairGeneratorSpec 对象时,我的类有效。 KeyPairGeneratorSpec spec = new KeyPairGeneratorSpe
以下方法已弃用 KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore"); KeyPair
我想将 secret 数据存储在我的应用程序的私有(private) keystore 中。 但是,当我编写代码来执行此操作时,Android Studio 警告说 KeyPairGeneratorS
Android Keystore (使用 KeyPairGeneratorSpec 等)在 API 级别 18 中引入。但是,方法 KeyPairGeneratorSpec.Builder.setKe
我是一名优秀的程序员,十分优秀!