¿Cómo validar Distinguir Nombre (DN) en Java?

Estoy tratando de validar DN en Java. Hasta ahora he intentado validarlo usando la biblioteca del castillo hinchable

private boolean isValidDn(String dn) {
    try {
        X509Name name = new X509Name(dn);
        return true;
    } catch (IllegalArgumentException e) {

    }
    return false;
}

Este código está funcionando pero el problema es que este código permite tener múltiples CN.

Por ejemplo: este código devuelve verdadero para CN = primero, CN = segundo, ou = org, ou = org2, c = US

Pero quiero una validación que devuelva verdadero solo si hay un cn, ou, o, c, etc.

Cualquier ayuda sería apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta