Merge "Add authorization binder methods"
This commit is contained in:
@@ -73,4 +73,6 @@ interface IKeystoreService {
|
|||||||
OperationResult update(IBinder token, in KeymasterArguments params, in byte[] input);
|
OperationResult update(IBinder token, in KeymasterArguments params, in byte[] input);
|
||||||
OperationResult finish(IBinder token, in KeymasterArguments params, in byte[] signature);
|
OperationResult finish(IBinder token, in KeymasterArguments params, in byte[] signature);
|
||||||
int abort(IBinder handle);
|
int abort(IBinder handle);
|
||||||
|
boolean isOperationAuthorized(IBinder token);
|
||||||
|
int addAuthToken(in byte[] authToken);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -476,4 +476,34 @@ public class KeyStore {
|
|||||||
return SYSTEM_ERROR;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user