org.bouncycastle.asn1.x500.style.BCStrictStyle.java Source code

Java tutorial

Introduction

Here is the source code for org.bouncycastle.asn1.x500.style.BCStrictStyle.java

Source

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;
    }
}