Форматирование эмитента и предмета сертификата SSL в JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Форматирование эмитента и предмета сертификата SSL в Java

Сообщение Anonymous »

Мы работаем над приложением Java, которое обрабатывает кучу сертификатов X509. Мы извлекаем имя субъекта и эмитента, например,
cn = фиктивная Cn, C = de, l = cf-eu10, o = test se, ou = test и т. Д. < /p>
Теперь субъекты бывают разных форматов, таких как: < /p>
CN,L,OU,OU,O,C
CN,OU,O,L,C
C,O,OU,OU,L,CN
CN,OU,O,L,C
< /code>
И я ищу возможность стандартизировать их в общем формате, таком как:
cn, l, ou, ou, o, c < /p>
Есть ли способ сделать это без написания логики токенизирования на инмовне?new X500Principal(certSubjectName).getName(X500Principal.RFC2253)
< /code>
Но на самом деле он не заказывает атрибуты. Я предполагаю, что я ищу, это то, что CLI OpenSSL делает с этой командой < /p>
openssl x509 -noout -subject -in -nameopt rfc2253
< /code>
Предположим, что это код, который у меня есть < /p>
String name = "CN=internal:eu10:asd, L=some-svc, OU=abcdefgh, OU=Canary, OU=My Clients, O=Org, C=XX"

System.out.println(new X500Principal(name).getName());
CN=internal:eu10:asd,L=some-svc,OU=abcdefgh,OU=Canary,OU=My Clients,O=Org,C=XX
< /code>
Однако, если порядок токенов изменен < /p>

String name = "C=XX, L=some-svc, CN=internal:eu10:asd, OU=abcdefgh, OU=Canary, OU=My Clients, O=Org";

System.out.println(new X500Principal(name).getName());
C=XX,L=some-svc,CN=internal:eu10:asd,OU=abcdefgh,OU=Canary,OU=My Clients,O=Org
< /code>
Предположим, что токены упорядочены по -разному < /p>
String name = "C=XX, L=some-svc, CN=internal:eu10:asd, OU=abcdefgh, OU=Canary, OU=My Clients, O=Org";
System.out.println(new X500Principal(name).getName());
C=XX,L=some-svc,CN=internal:eu10:asd,OU=abcdefgh,OU=Canary,OU=My Clients,O=Org
< /code>
Есть ли способ получить Cn = Internal: eu10: asd, l = some-svc, ou = abcdefgh, ou = canary, ou = my-клиенты, o = org, c = xx во втором случае?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... ct-in-java

Вернуться в «JAVA»