「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[暗号・復号化 部品]] --[[アプリケーション設計のポイント]] --[[汎用認証サイト(Multi-purpose Authentication Site)]] *目次 [#y1c057a3] #contents *概要 [#q8a3b3e5] -HS256、RS256のJWTの生成(署名)・検証が可能。 -一般的なJWTでは、ほぼ、RS256を使用している。 -プラットフォームや言語を跨いだ、トークン生成が可能。 *ライブラリ [#uc84410b] 以下のライブラリを使用する。 -https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/Jwt/ **クラス [#ve43cfc6] 以下の2つのクラスがある。 ***HS256, 384, 512 [#l036356f] HMACSHA256, 384, 512ハッシュによるJWT生成(署名)・検証 ***RS256, 384, 512 [#iad4f2dd] RSACryptoServiceProvider:SHA256, 384, 512によるJWT生成(署名)・検証 ***ES256, 384, 512 [#i043c63e] ECDsaP256, ECDsaP384, ECDsaP521によるJWT生成(署名)・検証 **メソッド [#rffe506e] ***Create [#lc8216c2] 生成(署名) ***Verify [#m145d3c8] JWT検証 ***利用例 [#qe10a550] 汎用認証サイトでは、以下のようにライブラリを使用して、AccessTokenやIDTokenを生成している。 -https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/CommonLibrary/TokenProviders/CmnAccessToken.cs#L178 *[[検証ツール>暗号・復号化 部品#q103f322]] [#q103f322] *その他 [#b2e4611a] **[[検証ツール>暗号・復号化 部品#q103f322]] [#q103f322] [[暗号・復号化 部品]]の[[検証ツール>暗号・復号化 部品#q103f322]]に同梱されている。 *外部サイト [#nb4e0b7c] **外部サイト [#nb4e0b7c] -以下のサイトで生成したJWTの検証が可能。 --JSON Web Tokens - jwt.io~ https://jwt.io/ -VERIFY SIGNATUREのPUBLIC KEYにはPEM形式の文字列を使用する。 -PEM形式の文字列は、「[[ココ>https://techinfoofmicrosofttech.osscons.jp/index.php?%E8%A8%BC%E6%98%8E%E6%9B%B8#tb47e80e]]」にあるように、OpenSSLで*.cerを処理して取得する。 IP:210.234.63.131 TIME:"2021-07-08 (木) 18:15:18" REFERER:"https://opentouryo.osscons.jp/index.php?cmd=edit&page=JWT%E3%81%AE%E7%94%9F%E6%88%90%E3%81%A8%E6%A4%9C%E8%A8%BC" USER_AGENT:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"