Merge "Keystore 2.0 SPI: Fix contract between equals and hashCode" am: efc036801c am: f3da868dad am: 13f995456c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1794807 Change-Id: I6a8958fac5106ebf6b42f9f881da6d6f48ee66f3
This commit is contained in:
@@ -102,11 +102,9 @@ public class AndroidKeyStoreKey implements Key {
|
|||||||
final int prime = 31;
|
final int prime = 31;
|
||||||
int result = 1;
|
int result = 1;
|
||||||
|
|
||||||
result = prime * result + ((mDescriptor == null) ? 0 : mDescriptor.hashCode());
|
result = prime * result + getClass().hashCode();
|
||||||
result = prime * result + (int) (mKeyId >>> 32);
|
result = prime * result + (int) (mKeyId >>> 32);
|
||||||
result = prime * result + (int) (mKeyId & 0xffffffff);
|
result = prime * result + (int) (mKeyId & 0xffffffff);
|
||||||
result = prime * result + ((mAuthorizations == null) ? 0 : mAuthorizations.hashCode());
|
|
||||||
result = prime * result + ((mAlgorithm == null) ? 0 : mAlgorithm.hashCode());
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,10 +120,6 @@ public class AndroidKeyStoreKey implements Key {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
AndroidKeyStoreKey other = (AndroidKeyStoreKey) obj;
|
AndroidKeyStoreKey other = (AndroidKeyStoreKey) obj;
|
||||||
if (mKeyId != other.mKeyId) {
|
return mKeyId == other.mKeyId;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import android.system.keystore2.KeyDescriptor;
|
|||||||
import android.system.keystore2.KeyMetadata;
|
import android.system.keystore2.KeyMetadata;
|
||||||
|
|
||||||
import java.security.PublicKey;
|
import java.security.PublicKey;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link PublicKey} backed by Android Keystore.
|
* {@link PublicKey} backed by Android Keystore.
|
||||||
@@ -75,9 +76,14 @@ public abstract class AndroidKeyStorePublicKey extends AndroidKeyStoreKey implem
|
|||||||
if (!super.equals(obj)) {
|
if (!super.equals(obj)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (getClass() != obj.getClass()) {
|
|
||||||
return false;
|
/*
|
||||||
}
|
* getClass().equals(ojb.getClass()) is implied by the call to super.equals() above. This
|
||||||
return true;
|
* means we can cast obj to AndroidKeyStorePublicKey here.
|
||||||
|
*/
|
||||||
|
final AndroidKeyStorePublicKey other = (AndroidKeyStorePublicKey) obj;
|
||||||
|
|
||||||
|
return Objects.equals(mCertificate, other.mCertificate) && Objects.equals(mCertificateChain,
|
||||||
|
other.mCertificateChain);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user