private boolean matchesDN(X500Principal subject, GeneralNames targets) { GeneralName[] names = targets.getNames(); for (int i = 0; i != names.length; i++) { GeneralName gn = names[i]; if (gn.getTagNo() == GeneralName.directoryName) { try { if (new X500Principal(((ASN1Encodable) gn.getName()).toASN1Primitive().getEncoded()) .equals(subject)) { return true; } } catch (IOException e) { } } } return false; }