Я пытался проверить URI, введен в соответствии с RFC 3986URI регулярное выражение проверки в соответствии с RFC3986
в этом есть один я придумал
(?:[A-Za-z][A-Za-z0-9+.-]*:/{2})?(?:(?:[A-Za-z0-9-._~]|%[A-Fa-f0-9]{2})+(?::(?[A-Za-z0-9-._~]|[%][A-Fa-f0-9]{2})+)[email protected])?(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.){1,126}[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?::[0-9]+)?(?:/(?:[A-Za-z0-9-._~]|%[A-Fa-f0-9]{2})*)*(?:\\?(?:[A-Za-z0-9-._~]+(?:=(?:[A-Za-z0-9-._~+]|%[A-Fa-f0-9]{2})+)?)(?:&|;[A-Za-z0-9-._~]+(?:=(?:[A-Za-z0-9-._~+]|%[A-Fa-f0-9]{2})+)?)*)?
Но почему-то это не удается на следующих примерах
LDAP: // [2001: db8 :: 7]/с = GB Objectclass один электронной почты:? John.D[email protected]
из RFC это самостоятельно.
Не уверен, что я делаю неправильно
Эта проверка делается, когда SubjectAltName дается для сертификата, и мне нужно, чтобы проверить его для хорошо сформированного URI, так что оно не обязательно при генерации сертификата. Для генерации сертификата, Im использование BouncyCastle