「[[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/JWT.cs
--https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/Jwt/JWT_HS256.cs
--https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/Jwt/JWT_RS256.cs
---https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/Jwt/JWT_RS256_Param.cs
---https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/Jwt/JWT_RS256_X509.cs
---https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Security/Jwt/JWT_RS256_XML.cs
-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]
[[暗号・復号化 部品]]の[[検証ツール>暗号・復号化 部品#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を処理して取得する。

IP:146.160.35.69 TIME:"2019-06-28 (金) 09:46:56" 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/75.0.3770.100 Safari/537.36"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS