/*
 * This file is auto-generated.  DO NOT MODIFY.
 * Original file: /var/tmp/code-browser-generator/android_android_9.0.0_r358833596918674107602/combined/android/service/gatekeeper/IGateKeeperService.aidl
 */
package android.service.gatekeeper;
Interface for communication with GateKeeper, the secure password storage daemon. This must be kept manually in sync with system/core/gatekeeperd until AIDL can generate both C++ and Java bindings.
@hide
/** * Interface for communication with GateKeeper, the * secure password storage daemon. * * This must be kept manually in sync with system/core/gatekeeperd * until AIDL can generate both C++ and Java bindings. * * @hide */
public interface IGateKeeperService extends android.os.IInterface {
Local-side IPC implementation stub class.
/** Local-side IPC implementation stub class. */
public static abstract class Stub extends android.os.Binder implements android.service.gatekeeper.IGateKeeperService { private static final java.lang.String DESCRIPTOR = "android.service.gatekeeper.IGateKeeperService";
Construct the stub at attach it to the interface.
/** Construct the stub at attach it to the interface. */
public Stub() { this.attachInterface(this, DESCRIPTOR); }
Cast an IBinder object into an android.service.gatekeeper.IGateKeeperService interface, generating a proxy if needed.
/** * Cast an IBinder object into an android.service.gatekeeper.IGateKeeperService interface, * generating a proxy if needed. */
public static android.service.gatekeeper.IGateKeeperService asInterface(android.os.IBinder obj) { if ((obj==null)) { return null; } android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR); if (((iin!=null)&&(iin instanceof android.service.gatekeeper.IGateKeeperService))) { return ((android.service.gatekeeper.IGateKeeperService)iin); } return new android.service.gatekeeper.IGateKeeperService.Stub.Proxy(obj); } @Override public android.os.IBinder asBinder() { return this; } @Override public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException { java.lang.String descriptor = DESCRIPTOR; switch (code) { case INTERFACE_TRANSACTION: { reply.writeString(descriptor); return true; } case TRANSACTION_enroll: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); byte[] _arg1; _arg1 = data.createByteArray(); byte[] _arg2; _arg2 = data.createByteArray(); byte[] _arg3; _arg3 = data.createByteArray(); android.service.gatekeeper.GateKeeperResponse _result = this.enroll(_arg0, _arg1, _arg2, _arg3); reply.writeNoException(); if ((_result!=null)) { reply.writeInt(1); _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_verify: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); byte[] _arg1; _arg1 = data.createByteArray(); byte[] _arg2; _arg2 = data.createByteArray(); android.service.gatekeeper.GateKeeperResponse _result = this.verify(_arg0, _arg1, _arg2); reply.writeNoException(); if ((_result!=null)) { reply.writeInt(1); _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_verifyChallenge: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); long _arg1; _arg1 = data.readLong(); byte[] _arg2; _arg2 = data.createByteArray(); byte[] _arg3; _arg3 = data.createByteArray(); android.service.gatekeeper.GateKeeperResponse _result = this.verifyChallenge(_arg0, _arg1, _arg2, _arg3); reply.writeNoException(); if ((_result!=null)) { reply.writeInt(1); _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_getSecureUserId: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); long _result = this.getSecureUserId(_arg0); reply.writeNoException(); reply.writeLong(_result); return true; } case TRANSACTION_clearSecureUserId: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); this.clearSecureUserId(_arg0); reply.writeNoException(); return true; } case TRANSACTION_reportDeviceSetupComplete: { data.enforceInterface(descriptor); this.reportDeviceSetupComplete(); reply.writeNoException(); return true; } default: { return super.onTransact(code, data, reply, flags); } } } private static class Proxy implements android.service.gatekeeper.IGateKeeperService { private android.os.IBinder mRemote; Proxy(android.os.IBinder remote) { mRemote = remote; } @Override public android.os.IBinder asBinder() { return mRemote; } public java.lang.String getInterfaceDescriptor() { return DESCRIPTOR; }
Enrolls a password, returning the handle to the enrollment to be stored locally.
Params:
  • uid – The Android user ID associated to this enrollment
  • currentPasswordHandle – The previously enrolled handle, or null if none
  • currentPassword – The previously enrolled plaintext password, or null if none. If provided, must verify against the currentPasswordHandle.
  • desiredPassword – The new desired password, for which a handle will be returned upon success.
Returns:an EnrollResponse or null on failure
/** * Enrolls a password, returning the handle to the enrollment to be stored locally. * @param uid The Android user ID associated to this enrollment * @param currentPasswordHandle The previously enrolled handle, or null if none * @param currentPassword The previously enrolled plaintext password, or null if none. * If provided, must verify against the currentPasswordHandle. * @param desiredPassword The new desired password, for which a handle will be returned * upon success. * @return an EnrollResponse or null on failure */
@Override public android.service.gatekeeper.GateKeeperResponse enroll(int uid, byte[] currentPasswordHandle, byte[] currentPassword, byte[] desiredPassword) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.service.gatekeeper.GateKeeperResponse _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(uid); _data.writeByteArray(currentPasswordHandle); _data.writeByteArray(currentPassword); _data.writeByteArray(desiredPassword); mRemote.transact(Stub.TRANSACTION_enroll, _data, _reply, 0); _reply.readException(); if ((0!=_reply.readInt())) { _result = android.service.gatekeeper.GateKeeperResponse.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; }
Verifies an enrolled handle against a provided, plaintext blob.
Params:
  • uid – The Android user ID associated to this enrollment
  • enrolledPasswordHandle – The handle against which the provided password will be verified.
  • The – plaintext blob to verify against enrolledPassword.
Returns:a VerifyResponse, or null on failure.
/** * Verifies an enrolled handle against a provided, plaintext blob. * @param uid The Android user ID associated to this enrollment * @param enrolledPasswordHandle The handle against which the provided password will be * verified. * @param The plaintext blob to verify against enrolledPassword. * @return a VerifyResponse, or null on failure. */
@Override public android.service.gatekeeper.GateKeeperResponse verify(int uid, byte[] enrolledPasswordHandle, byte[] providedPassword) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.service.gatekeeper.GateKeeperResponse _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(uid); _data.writeByteArray(enrolledPasswordHandle); _data.writeByteArray(providedPassword); mRemote.transact(Stub.TRANSACTION_verify, _data, _reply, 0); _reply.readException(); if ((0!=_reply.readInt())) { _result = android.service.gatekeeper.GateKeeperResponse.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; }
Verifies an enrolled handle against a provided, plaintext blob.
Params:
  • uid – The Android user ID associated to this enrollment
  • challenge – a challenge to authenticate agaisnt the device credential. If successful authentication occurs, this value will be written to the returned authentication attestation.
  • enrolledPasswordHandle – The handle against which the provided password will be verified.
  • The – plaintext blob to verify against enrolledPassword.
Returns:a VerifyResponse with an attestation, or null on failure.
/** * Verifies an enrolled handle against a provided, plaintext blob. * @param uid The Android user ID associated to this enrollment * @param challenge a challenge to authenticate agaisnt the device credential. If successful * authentication occurs, this value will be written to the returned * authentication attestation. * @param enrolledPasswordHandle The handle against which the provided password will be * verified. * @param The plaintext blob to verify against enrolledPassword. * @return a VerifyResponse with an attestation, or null on failure. */
@Override public android.service.gatekeeper.GateKeeperResponse verifyChallenge(int uid, long challenge, byte[] enrolledPasswordHandle, byte[] providedPassword) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.service.gatekeeper.GateKeeperResponse _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(uid); _data.writeLong(challenge); _data.writeByteArray(enrolledPasswordHandle); _data.writeByteArray(providedPassword); mRemote.transact(Stub.TRANSACTION_verifyChallenge, _data, _reply, 0); _reply.readException(); if ((0!=_reply.readInt())) { _result = android.service.gatekeeper.GateKeeperResponse.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; }
Retrieves the secure identifier for the user with the provided Android ID, or 0 if none is found.
Params:
  • uid – the Android user id
/** * Retrieves the secure identifier for the user with the provided Android ID, * or 0 if none is found. * @param uid the Android user id */
@Override public long getSecureUserId(int uid) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); long _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(uid); mRemote.transact(Stub.TRANSACTION_getSecureUserId, _data, _reply, 0); _reply.readException(); _result = _reply.readLong(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Clears secure user id associated with the provided Android ID. Must be called when password is set to NONE.
Params:
  • uid – the Android user id.
/** * Clears secure user id associated with the provided Android ID. * Must be called when password is set to NONE. * @param uid the Android user id. */
@Override public void clearSecureUserId(int uid) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(uid); mRemote.transact(Stub.TRANSACTION_clearSecureUserId, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Notifies gatekeeper that device setup has been completed and any potentially still existing state from before a factory reset can be cleaned up (if it has not been already).
/** * Notifies gatekeeper that device setup has been completed and any potentially still existing * state from before a factory reset can be cleaned up (if it has not been already). */
@Override public void reportDeviceSetupComplete() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_reportDeviceSetupComplete, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } } static final int TRANSACTION_enroll = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0); static final int TRANSACTION_verify = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1); static final int TRANSACTION_verifyChallenge = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2); static final int TRANSACTION_getSecureUserId = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3); static final int TRANSACTION_clearSecureUserId = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4); static final int TRANSACTION_reportDeviceSetupComplete = (android.os.IBinder.FIRST_CALL_TRANSACTION + 5); }
Enrolls a password, returning the handle to the enrollment to be stored locally.
Params:
  • uid – The Android user ID associated to this enrollment
  • currentPasswordHandle – The previously enrolled handle, or null if none
  • currentPassword – The previously enrolled plaintext password, or null if none. If provided, must verify against the currentPasswordHandle.
  • desiredPassword – The new desired password, for which a handle will be returned upon success.
Returns:an EnrollResponse or null on failure
/** * Enrolls a password, returning the handle to the enrollment to be stored locally. * @param uid The Android user ID associated to this enrollment * @param currentPasswordHandle The previously enrolled handle, or null if none * @param currentPassword The previously enrolled plaintext password, or null if none. * If provided, must verify against the currentPasswordHandle. * @param desiredPassword The new desired password, for which a handle will be returned * upon success. * @return an EnrollResponse or null on failure */
public android.service.gatekeeper.GateKeeperResponse enroll(int uid, byte[] currentPasswordHandle, byte[] currentPassword, byte[] desiredPassword) throws android.os.RemoteException;
Verifies an enrolled handle against a provided, plaintext blob.
Params:
  • uid – The Android user ID associated to this enrollment
  • enrolledPasswordHandle – The handle against which the provided password will be verified.
  • The – plaintext blob to verify against enrolledPassword.
Returns:a VerifyResponse, or null on failure.
/** * Verifies an enrolled handle against a provided, plaintext blob. * @param uid The Android user ID associated to this enrollment * @param enrolledPasswordHandle The handle against which the provided password will be * verified. * @param The plaintext blob to verify against enrolledPassword. * @return a VerifyResponse, or null on failure. */
public android.service.gatekeeper.GateKeeperResponse verify(int uid, byte[] enrolledPasswordHandle, byte[] providedPassword) throws android.os.RemoteException;
Verifies an enrolled handle against a provided, plaintext blob.
Params:
  • uid – The Android user ID associated to this enrollment
  • challenge – a challenge to authenticate agaisnt the device credential. If successful authentication occurs, this value will be written to the returned authentication attestation.
  • enrolledPasswordHandle – The handle against which the provided password will be verified.
  • The – plaintext blob to verify against enrolledPassword.
Returns:a VerifyResponse with an attestation, or null on failure.
/** * Verifies an enrolled handle against a provided, plaintext blob. * @param uid The Android user ID associated to this enrollment * @param challenge a challenge to authenticate agaisnt the device credential. If successful * authentication occurs, this value will be written to the returned * authentication attestation. * @param enrolledPasswordHandle The handle against which the provided password will be * verified. * @param The plaintext blob to verify against enrolledPassword. * @return a VerifyResponse with an attestation, or null on failure. */
public android.service.gatekeeper.GateKeeperResponse verifyChallenge(int uid, long challenge, byte[] enrolledPasswordHandle, byte[] providedPassword) throws android.os.RemoteException;
Retrieves the secure identifier for the user with the provided Android ID, or 0 if none is found.
Params:
  • uid – the Android user id
/** * Retrieves the secure identifier for the user with the provided Android ID, * or 0 if none is found. * @param uid the Android user id */
public long getSecureUserId(int uid) throws android.os.RemoteException;
Clears secure user id associated with the provided Android ID. Must be called when password is set to NONE.
Params:
  • uid – the Android user id.
/** * Clears secure user id associated with the provided Android ID. * Must be called when password is set to NONE. * @param uid the Android user id. */
public void clearSecureUserId(int uid) throws android.os.RemoteException;
Notifies gatekeeper that device setup has been completed and any potentially still existing state from before a factory reset can be cleaned up (if it has not been already).
/** * Notifies gatekeeper that device setup has been completed and any potentially still existing * state from before a factory reset can be cleaned up (if it has not been already). */
public void reportDeviceSetupComplete() throws android.os.RemoteException; }