am 5341d83c: am f603e286: Merge "Add authorization binder methods"

* commit '5341d83c3e9c22efff90cfbb9b039580351bc929':
  Add authorization binder methods
This commit is contained in:
Chad Brubaker
2015-03-30 20:25:00 +00:00
committed by Android Git Automerger
2 changed files with 32 additions and 0 deletions

View File

@@ -73,4 +73,6 @@ interface IKeystoreService {
OperationResult update(IBinder token, in KeymasterArguments params, in byte[] input);
OperationResult finish(IBinder token, in KeymasterArguments params, in byte[] signature);
int abort(IBinder handle);
boolean isOperationAuthorized(IBinder token);
int addAuthToken(in byte[] authToken);
}

View File

@@ -476,4 +476,34 @@ public class KeyStore {
return SYSTEM_ERROR;
}
}
/**
* Check if the operation referenced by {@code token} is currently authorized.
*
* @param token An operation token returned by a call to {@link KeyStore.begin}.
*/
public boolean isOperationAuthorized(IBinder token) {
try {
return mBinder.isOperationAuthorized(token);
} catch (RemoteException e) {
Log.w(TAG, "Cannot connect to keystore", e);
return false;
}
}
/**
* Add an authentication record to the keystore authorization table.
*
* @param authToken The packed bytes of a hw_auth_token_t to be provided to keymaster.
* @return {@code KeyStore.NO_ERROR} on success, otherwise an error value corresponding to
* a {@code KeymasterDefs.KM_ERROR_} value or {@code KeyStore} ResponseCode.
*/
public int addAuthToken(byte[] authToken) {
try {
return mBinder.addAuthToken(authToken);
} catch (RemoteException e) {
Log.w(TAG, "Cannot connect to keystore", e);
return SYSTEM_ERROR;
}
}
}