【问题标题】:Generate RSA Keypair in the KeyStore on API level 21在 API 级别 21 的 KeyStore 中生成 RSA 密钥对
【发布时间】:2017-10-05 11:35:28
【问题描述】:

所以KeyGenParameterSpec 是在 API 级别 23 中引入的,因此在较低的 API 级别我需要使用 KeyPairGeneratorSpec。但是,在设置类型时,Android Studio 出现错误,提示类型必须是(在这种情况下)KeyProperties.KEY_ALGORITHM_RSA。但是,该常量是在 API 级别 23 中引入的,因此例如它不适用于 API 级别 22!

我尝试将其替换为常量值 "RSA",但它不会接受它。

知道我是如何解决这个问题的吗?

KeypairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context)
    .setKeyType("RSA")
    .build();

所以在上面的简化示例中,我将 keytype 设置为“RSA”,但 Android Studio 无法编译并强制我使用 KeyProperties.KEY_ALGORITHM_RSA,它再次仅在 API 级别 23 及更高级别中可用。

【问题讨论】:

    标签: android


    【解决方案1】:

    取自:

    Android RSA Keypair Generation - Should I use Standard Java/Bouncy Castle/Spongy Castle/JSch/Other?

    KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
    kpg.initialize(2048);
    KeyPair keyPair = kpg.genKeyPair();
    

    【讨论】:

      【解决方案2】:

      您看到的错误是检查规则输出。我也遇到了同样的检查错误,但构建工作正常并按预期运行。

      如果您想消除检查错误,您可以编辑检查规则。但是,这不是必需的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-20
        • 1970-01-01
        • 1970-01-01
        • 2019-08-12
        • 2010-11-10
        • 2014-09-19
        • 1970-01-01
        • 2021-05-08
        相关资源
        最近更新 更多