wso2am-2.6.0 неверная подпись jwt - PullRequest
0 голосов
/ 04 декабря 2018

Включение подписи JWT для серверных служб в WSO2AM-2.6.0 (ветка 6.x)

<JWTConfiguration>
  <EnableJWTGeneration>true</EnableJWTGeneration>
  <JWTHeader>X-JWT-Assertion</JWTHeader>
  <SignatureAlgorithm>SHA256withRSA</SignatureAlgorithm>
<JWTGeneratorImpl>org.wso2.carbon.apimgt.keymgt.token.JWTGenerator</JWTGeneratorImpl>

Однако разработчики жалуются, что подпись недействительна (согласно библиотеке JOSE).Я протестировал токен на странице jwt.io , и он также утверждает, что подпись недействительна.

Я вижу, что из предыдущей версии (wso2am-2.1.0) генерация подписи изменилась(без использования какой-либо внешней структуры), но также и для изменения подпись не считается действительной другими структурами (jose, jwt.io)

Есть ли способ настроить wso2am для создания действительной (действительной) подписи?

Редактировать:

Я вижу, что токен JWT подписан только с использованием APIMJWTGenerator, хотя это не помогает сделать токен действительным

Исключение составляет

"stacktrace": "org.jose4j.jwt.consumer.InvalidJwtException:
 Unable to process JOSE object (cause: org.jose4j.lang.UnresolvableKeyException:
 The X.509 Certificate Thumbprint header(s) in the JWS do not identify any of the provided Certificates - x5t=NTA3YzJmZDk0OTg4N2ViNWRlY2M4N2NlMDdjMmNlNjliOTRkYjM1OA vs. SHA-1 thumbs:[UHwv2UmIfrXezIfOB8LOablNs1g].)

имеет ли проверка какое-либо отношение к атрибуту заголовка x5t ?

Edit2: очевидно, заголовок xt5t, как ожидается, будет содержать подпись сертификата SHA-1, предоставленное значение NTA3YzJmZDk0OTg4N2ViNWRlY2M4N2NlMDdjMmNlNjliOTRkYjM1OA слишком длинное, чтобы быть SHA-1, или недопустимо

Edit3:

Кажется, проблема связана с https://github.com/wso2/carbon-apimgt/issues/5535, исправление которого, по-видимому, нарушает совместимость с серверными службами (и используемыми средами, готовящими исправление)

1 Ответ

0 голосов
/ 05 декабря 2018

Фиксация с натяжением https://github.com/gusto2/carbon-apimgt/pull/1 (возможно, не идеально, но работает и проверено)

...