package org.bouncycastle.asn1.x500.style; import org.bouncycastle.asn1.x500.RDN; import org.bouncycastle.asn1.x500.X500Name; import org.bouncycastle.asn1.x500.X500NameStyle; /** * Variation of BCStyle that insists on strict ordering for equality * and hashCode comparisons */ public class BCStrictStyle extends BCStyle { public static final X500NameStyle INSTANCE = new BCStrictStyle(); public boolean areEqual(X500Name name1, X500Name name2) { RDN[] rdns1 = name1.getRDNs(); RDN[] rdns2 = name2.getRDNs(); if (rdns1.length != rdns2.length) { return false; } for (int i = 0; i != rdns1.length; i++) { if (!rdnAreEqual(rdns1[i], rdns2[i])) { return false; } } return true; } }