WebAuthn4J проверяет ответы регистрации и аутентификации — заявления об аттестации всех форматов, ключи COSE, флаги, счётчики и подписи, — а формирование параметров (options) оставляет доверяющей стороне. Spring Security и Keycloak используют её под капотом. Версия 0.31.11 зависит от Jackson 3 (tools.jackson.*), что важно, если ваше приложение для собственного JSON по-прежнему использует com.fasterxml.jackson из Jackson 2, а её API размечен аннотациями JetBrains @NotNull: код, который её использует, не компилировался при запуске одного исходного файла командой java, пока в classpath не появился org.jetbrains:annotations.
Политики проверки пользователя по умолчанию, о которой можно забыть, здесь нет: RegistrationParameters и AuthenticationParameters принимают userVerificationRequired и userPresenceRequired как обязательные аргументы. В тесте регистрация и assertion со сброшенным флагом UV проходили проверку, когда передавалось false, и завершались ошибкой UserNotVerifiedException при true. Согласуйте это значение с userVerification, которое вы передаёте в параметрах (options), как показано в примере.
Подписи должны быть в ASN.1 DER: подпись assertion в формате raw r‖s длиной 64 байта отклонена с ошибкой BadSignatureException: Assertion signature is not valid., а подпись в DER с high-S прошла проверку. Если счётчик меньше сохранённого, вход завершается ошибкой MaliciousCounterValueException: Malicious counter value is detected. Cloned authenticators exist in parallel., а счётчик, который всегда был равен 0, как у синхронизируемых ключей доступа, проверку проходит. Учётные данные Ed25519 прошли сквозную проверку.
createNonStrictWebAuthnManager() принимает любое заявление об аттестации, не сверяя его с якорями доверия: это правильно, если вы запрашиваете аттестацию none, и неправильно, если аттестация входит в вашу политику; в этом случае настройте якоря доверия и используйте строгий менеджер.
Инспектор WebAuthn декодирует то, что отправляют браузеры, а поиск по AAGUID определяет модели аутентификаторов для политик аттестации.