如何编写KeyPairGenerator的单元测试

时间:2018-07-04 15:43:33

标签: android unit-testing android-keystore key-pair

我正在为Android 6及更高版本的设备生成一些用于加密/解密目的的非对称密钥对。

为此,我使用了以下代码。

        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(asymmetricKeyGenerationAlogritham, keyStoreProvider);
        keyPairGenerator.initialize(
                new KeyGenParameterSpec.Builder(
                        alias,
                        KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
                        .setEncryptionPaddings(asymmetricKeyGenerationPadding)
                        .setKeySize(asymmetricKeySize)
                        .setDigests(KeyProperties.DIGEST_SHA256, KeyProperties.DIGEST_SHA512)
                        .setUserAuthenticationRequired(isFingerprintAuthNeeded)
                        .setUserAuthenticationValidityDurationSeconds(userAuthneticationDuration)
                        .build());
        keyPairGenerator.generateKeyPair();

完成手动测试后,我看到密钥是为特定别名生成的。

当我进行单元测试时,出现以下错误:

"java.security.NoSuchProviderException: no such provider: AndroidKeyStore"

但是手动,这是完美的。

我在做什么错?请纠正我。

0 个答案:

没有答案