「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>暗号・復号化 部品]] *目次 [#y1c057a3] #contents *概要 [#q8a3b3e5] -HS256、RS256のJWTの生成(署名)・検証が可能。 -一般的なJWTでは、ほぼ、RS256を使用している。 -プラットフォームや言語を跨いだ、トークン生成が可能。 *ライブラリ [#uc84410b] 以下のライブラリを使用する。 -https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Util/JWT.cs --https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Util/JWT_HS256.cs --https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Util/JWT_RS256.cs **クラス [#ve43cfc6] 以下の2つのクラスがある。 ***HS256バージョン [#l036356f] HMACSHA256ハッシュによるJWT生成(署名)・検証 ***RS256バージョン [#iad4f2dd] RSACryptoServiceProvider:SHA256によるJWT生成(署名)・検証 **メソッド [#rffe506e] ***Create [#lc8216c2] 生成(署名) ***Verify [#m145d3c8] JWT検証 ***利用例 [#qe10a550] 汎用認証サイトでは、以下のようにライブラリを使用して、AccessTokenやIDTokenを生成している。 -https://github.com/OpenTouryoProject/MultiPurposeAuthSite/blob/develop/root/programs/MultiPurposeAuthSite/MultiPurposeAuthSite/Models/ASPNETIdentity/TokenProviders/AccessTokenFormatJwt.cs *[[検証ツール>暗号・復号化 部品#q103f322]] [#q103f322] [[暗号・復号化 部品]]の[[検証ツール>暗号・復号化 部品#q103f322]]に同梱されている。 *外部サイト [#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でEncAndDecUtil_RS256.cerを処理して取得する。