0

WSO2AM-2.6.0 (6.x ブランチ) でバックエンド サービスの JWT 署名を有効にする

<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 ではないか、無効です

編集3:

この問題はhttps://github.com/wso2/carbon-apimgt/issues/5535に関連しているようです。これを修正すると、明らかにバックエンド サービスとの互換性が失われます (および使用されているフレームワーク、修正を準備しています)。

4

1 に答える 1