Android 在API级别21的密钥库中生成RSA密钥对

Android 在API级别21的密钥库中生成RSA密钥对,android,Android,因此,在API级别23中引入了KeyGenParameterSpec,因此在较低的API级别上,我需要使用KeyPairGeneratorSpec。但是,当设置类型时,Android Studio出现一个错误,指出类型必须是(在本例中)KeyProperties.KEY\u ALGORITHM\u RSA。然而,该常数是在API级别23中引入的,因此它不适用于API级别22 我试着用常量值替换它,即“RSA”,但它不接受 你知道我该怎么做吗 KeypairGeneratorSpec spec =

因此,在API级别23中引入了
KeyGenParameterSpec
,因此在较低的API级别上,我需要使用
KeyPairGeneratorSpec
。但是,当设置类型时,Android Studio出现一个错误,指出类型必须是(在本例中)
KeyProperties.KEY\u ALGORITHM\u RSA
。然而,该常数是在API级别23中引入的,因此它不适用于API级别22

我试着用常量值替换它,即
“RSA”
,但它不接受

你知道我该怎么做吗

KeypairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(context)
    .setKeyType("RSA")
    .build();
因此,在上面的简化示例中,我将keytype设置为“RSA”,但Android Studio不会编译并强制我使用
KeyProperties.KEY\u ALGORITHM\u RSA
,它同样只在API级别23及以上可用。

摘自:

摘自:


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


如果要删除检验错误,可以编辑检验规则。但是这不是必需的。

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

如果要删除检验错误,可以编辑检验规则。但是,这不是必需的

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