5a5c6e0e44
Due to an oversight, some of the key generation parameters that are set in KeyGenParameterSpec were not preserved when parceling the object (they should have been added to ParcelableKeyGenParameterSpec but were not). This means these parameters will be ignored when generating keys using the DevicePolicyManager.generateKeyPair method, leading to an inconsistent key generation behaviour between the DevicePolicyManager and KeyStore. In particular, this would prevent callers from using StrongBox when generating keys for use in the KeyChain. Fix the issue by simply persisting these parameters in ParcelableKeyGenParameterSpec and making sure that the Builder copies them too from the source KeyGenParameterSpec. Left to do is put in place an automated measure to find out discrepancies between the two classes. Bug: 110915980 Bug: 110882855 Bug: 109953656 Test: atest KeystoreTests Change-Id: Ic64bd2921b6dfc97ea34ecba55f532312963ffcb