@@ -373,7 +373,7 @@ private void initialize(@NonNull final Context context,
373373 if (!unnecessaryCryptoPurposesDisabled && enableImport ) {
374374 purposes |= KeyProperties .PURPOSE_WRAP_KEY ;
375375 }
376- initialize28 (keyPairGenerator , keySize , useStrongbox , trySetAttestationChallenge , purposes );
376+ initialize28 (keyPairGenerator , keySize , useStrongbox , trySetAttestationChallenge , purposes , unnecessaryCryptoPurposesDisabled );
377377 }
378378 }
379379
@@ -454,7 +454,8 @@ private void initialize28(@androidx.annotation.NonNull final KeyPairGenerator ke
454454 final int keySize ,
455455 final boolean useStrongbox ,
456456 final boolean trySetAttestationChallenge ,
457- final int purposes ) throws InvalidAlgorithmParameterException {
457+ final int purposes ,
458+ final boolean unnecessaryCryptoPurposesDisabled ) throws InvalidAlgorithmParameterException {
458459 KeyGenParameterSpec .Builder builder = new KeyGenParameterSpec .Builder (
459460 mKeyManager .getKeyAlias (), purposes )
460461 .setKeySize (keySize )
@@ -465,11 +466,15 @@ private void initialize28(@androidx.annotation.NonNull final KeyPairGenerator ke
465466 KeyProperties .DIGEST_NONE ,
466467 KeyProperties .DIGEST_SHA1 ,
467468 KeyProperties .DIGEST_SHA256
468- ).setEncryptionPaddings (
469- KeyProperties .ENCRYPTION_PADDING_RSA_OAEP ,
470- KeyProperties .ENCRYPTION_PADDING_RSA_PKCS1
471469 );
472470
471+ if (!unnecessaryCryptoPurposesDisabled ) {
472+ builder .setEncryptionPaddings (
473+ KeyProperties .ENCRYPTION_PADDING_RSA_OAEP ,
474+ KeyProperties .ENCRYPTION_PADDING_RSA_PKCS1
475+ );
476+ }
477+
473478 if (trySetAttestationChallenge ) {
474479 builder = setAttestationChallenge (builder );
475480 }
0 commit comments