Во время модульного тестирования я заметил некоторое ожидаемое поведение в отношении.
Я использовал ваш код для генерации пары ключей RsaJsonWebKey.После создания я установил алгоритм на RS512.Я создал публичный JWK на основе этого.В этот момент пара ключей и JWK имели одинаковый идентификатор ключа, алгоритм и сигнатуру.Затем в UT я изменил алгоритм JWK на RS256.Я ожидал, что это потерпит неудачу, но это все еще соответствует и проверяет.Конечно, идентификатор ключа и, самое главное, подписи все еще совпадают.Действительно ли алгоритм необходим?Глядя на исходный код Jose4J, кажется, что он никогда не устанавливается на соответствие JWK.
в методе SimpleJwkFilter.filter ()
match & = isMatch (alg, jwk.getAlgorithm ());<- alg никогда не устанавливается и поэтому передает isMatch </p>