Como validar DN (Distinguish Name) em Java?

Estou tentando validar DN em java. Até agora, tentei validá-lo usando o Bouncy castle libry

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

    }
    return false;
}

Este código está funcionando, mas o problema é que esse código permite ter vários CNs.

Por exemplo: esse código retorna verdadeiro para CN = primeiro, CN = segundo, ou = org, ou = org2, c = US

Mas quero validação que retorne true somente se houver um cn, ou, o, c etc.

Qualquer ajuda seria apreciada.

questionAnswers(1)

yourAnswerToTheQuestion