Merge "Add a system api to reset secure element"

This commit is contained in:
Treehugger Robot
2020-01-23 02:00:02 +00:00
committed by Gerrit Code Review
3 changed files with 37 additions and 0 deletions

View File

@@ -7092,6 +7092,14 @@ package android.provider {
} }
package android.se.omapi {
public final class Reader {
method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED) public boolean reset();
}
}
package android.security.keystore { package android.security.keystore {
public abstract class AttestationUtils { public abstract class AttestationUtils {

View File

@@ -48,4 +48,10 @@ interface ISecureElementReader {
*/ */
void closeSessions(); void closeSessions();
/**
* Closes all the sessions opened on this reader and resets the reader.
* All the channels opened by all these sessions will be closed.
* @return true if the reset is successful, false otherwise.
*/
boolean reset();
} }

View File

@@ -23,6 +23,8 @@
package android.se.omapi; package android.se.omapi;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceSpecificException; import android.os.ServiceSpecificException;
import android.util.Log; import android.util.Log;
@@ -150,4 +152,25 @@ public final class Reader {
} catch (RemoteException ignore) { } } catch (RemoteException ignore) { }
} }
} }
/**
* Close all the sessions opened on this reader and reset the reader.
* All the channels opened by all these sessions will be closed.
* @return <code>true</code> if reset success, <code>false</code> otherwise.
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED)
public boolean reset() {
if (!mService.isConnected()) {
Log.e(TAG, "service is not connected");
return false;
}
synchronized (mLock) {
try {
closeSessions();
return mReader.reset();
} catch (RemoteException ignore) {return false;}
}
}
} }