Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7080f41 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add DPM.hasKeyPair()"

parents 77b31ad3 b73e1524
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -6968,6 +6968,7 @@ package android.app.admin {
    method public boolean grantKeyPairToApp(@Nullable android.content.ComponentName, @NonNull String, @NonNull String);
    method public boolean hasCaCertInstalled(@Nullable android.content.ComponentName, byte[]);
    method public boolean hasGrantedPolicy(@NonNull android.content.ComponentName, int);
    method public boolean hasKeyPair(@NonNull String);
    method public boolean hasLockdownAdminConfiguredNetworks(@NonNull android.content.ComponentName);
    method public boolean installCaCert(@Nullable android.content.ComponentName, byte[]);
    method public boolean installExistingPackage(@NonNull android.content.ComponentName, String);
+21 −0
Original line number Diff line number Diff line
@@ -5370,6 +5370,27 @@ public class DevicePolicyManager {
        }
    }
    // STOPSHIP(b/174298501): clarify the expected return value following generateKeyPair call.
    /**
     * Called by a device or profile owner, or delegated certificate installer, to query whether a
     * certificate and private key are installed under a given alias.
     *
     * @param alias The alias under which the key pair is installed.
     * @return {@code true} if a key pair with this alias exists, {@code false} otherwise.
     * @throws SecurityException if the caller is not a device or profile owner or a delegated
     *         certificate installer.
     * @see #setDelegatedScopes
     * @see #DELEGATION_CERT_INSTALL
     */
    public boolean hasKeyPair(@NonNull String alias) {
        throwIfParentInstance("hasKeyPair");
        try {
            return mService.hasKeyPair(mContext.getPackageName(), alias);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
    /**
     * Called by a device or profile owner, or delegated certificate installer, to generate a
     * new private/public key pair. If the device supports key generation via secure hardware,
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ interface IDevicePolicyManager {
            in byte[] certBuffer, in byte[] certChainBuffer, String alias, boolean requestAccess,
            boolean isUserSelectable);
    boolean removeKeyPair(in ComponentName who, in String callerPackage, String alias);
    boolean hasKeyPair(in String callerPackage, in String alias);
    boolean generateKeyPair(in ComponentName who, in String callerPackage, in String algorithm,
            in ParcelableKeyGenParameterSpec keySpec,
            in int idAttestationFlags, out KeymasterCertificateChain attestationChain);
+1 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ interface IKeyChainService {
    boolean installKeyPair(
        in byte[] privateKey, in byte[] userCert, in byte[] certChain, String alias, int uid);
    boolean removeKeyPair(String alias);
    boolean containsKeyPair(String alias);

    // APIs used by Settings
    boolean deleteCaCertificate(String alias);
+5 −0
Original line number Diff line number Diff line
@@ -101,4 +101,9 @@ abstract class BaseIDevicePolicyManager extends IDevicePolicyManager.Stub {
    public boolean canProfileOwnerResetPasswordWhenLocked(int userId) {
        return false;
    }

    public boolean hasKeyPair(String callerPackage, String alias) {
        // STOPSHIP: implement delegation code in ArcDevicePolicyManagerWrapperService & nuke this.
        return false;
    }
}
Loading