您可以在以下位置找到KeyGenParameterSpec.java:

3
我正在Android KeyStore中创建RSA密钥对,使用的是eclipse。 我需要使用KeyGenParameterSpec类来给我的密钥一个别名,以便稍后删除它,但我找不到这个类。有谁能告诉我这个类在哪个jar包中呢? 官方页面说它在android.security.keystore.KeyGenParameterSpec中,但问题是我找不到这个jar包。
提前致谢!
1个回答

3
KeyGenParameterSpec位于android.security.keystore包中,但您无法看到构造函数,因为它被注释为@hide,如源代码中所示。引用doclava文档的话:当应用于包、类、方法或字段时,@hide会将该节点及其所有子节点从文档中移除。如果您想创建一个KeyGenParameterSpec,需要使用Builder:
new KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
        .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
        .setUserAuthenticationRequired(true)
        .setUserAuthenticationValidityDurationSeconds(AUTHENTICATION_DURATION_SECONDS)
        .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
        .build()

明白了,但我也尝试过使用KeyPairGeneratorSpec,这是由旧版本库支持的。在Eclipse中,我该如何访问这个框架呢?我该如何导入这个类呢? - Sid
它也是Android框架的一部分。KeyPairGeneratorSpec在API级别18中添加。请确保您的目标至少为18。 - Mattia Maestrini
我明白了,问题是我不在Eclipse中创建一个Android项目,所以无法指定目标版本。我正在处理一个普通的Java项目,在这个项目中我需要使用这个类。因此问题是如何访问这个类。 - Sid
1
Android SDK Manager下载SDK Platform,然后你可以在这里找到jar文件 android-sdk-macosx/platforms/android-23/android.jar - Mattia Maestrini
我最终使用了Android Studio来完成这个任务,但我相信如果有这个JAR文件的话,也能实现。所以感谢你的帮助。 - Sid
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接