「[[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/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で*.cerを処理して取得する。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS