in kerby-common/kerby-util/src/main/java/org/apache/kerby/util/Util.java [72:104]
public static boolean equals(KeyStore ks1, KeyStore ks2) throws KeyStoreException {
if (ks1 == null || ks2 == null) {
return ks1 == null && ks2 == null;
}
Set<String> aliases1 = aliases(ks1);
Set<String> aliases2 = aliases(ks2);
if (aliases1.equals(aliases2)) {
for (String s : aliases1) {
if (ks1.isCertificateEntry(s) != ks2.isCertificateEntry(s)) {
return false;
}
if (ks1.isKeyEntry(s) != ks2.isKeyEntry(s)) {
return false;
}
if (ks1.isCertificateEntry(s)) {
Certificate[] cc1 = ks1.getCertificateChain(s);
Certificate[] cc2 = ks2.getCertificateChain(s);
if (!Arrays.equals(cc1, cc2)) {
return false;
}
Certificate c1 = ks1.getCertificate(s);
Certificate c2 = ks2.getCertificate(s);
if (!c1.equals(c2)) {
return false;
}
}
// should we bother checking keys? maybe one day....
}
}
return true;
}