「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>JWT]] * 目次 [#u45db361] #contents *概要 [#rb87a68b] jose-jwt使い倒し。 **特徴 [#o4d29f44] Readme.md中で、以下の様に述べられている。 -.NETと[[.NET Core]]用の最小 or ゼロ依存のアルティメット[[JWT]]実装 -jose.4.j、Nimbus-JOSE-JWT、json-jwtライブラリとの互換性を広範にテスト。 **[[比較>JWT#r4ac23c8]] [#efad17e4] ライトユーザー向けではなく、ヘビーユーザー向け。 -クロスプラットフォーム実装 -ClientではなくAuthZサイド実装用 的な。 *詳細 [#jebc97ce] **機能 [#v9a01dd1] ***[[JWS]] [#l00fa0a9] 署名・検証 ***[[JWE]] [#pd6a0dcb] 暗号化・復号化 ***ユーティリティ [#n2439696] ・・・ **依存関係 [#da102a96] 以下を使用している。 #ref(browser.png,left,nowrap,参照設定) ***[[CAPI(CSP)、CNG>.NETの署名・暗号化アルゴリズム#fde2f12c]] [#q7931d76] -実装がある。 --https://github.com/dotnet/corefx/tree/master/src/System.Security.Cryptography.Csp/src/System/Security/Cryptography --https://github.com/dotnet/corefx/tree/master/src/System.Security.Cryptography.Cng/src/System/Security/Cryptography -Linuxで動作するか不明だが、以下の[[OpenSSL>#l3af4ef0]]を使用しているため問題無いと考える。~ 恐らく内部的に(CAPI(CSP)、CNG、Managed(OpenSSL)?と)、切り替えているモノと思われる。 ***[[OpenSSL>OpenSSL#dbb192d0]] [#l3af4ef0] -上記の、AlgorithmとX509Certificateでは、更に下位にOpenSSLのNuGetライブラリを参照している。 --Algorithm~ https://github.com/dotnet/corefx/tree/master/src/System.Security.Cryptography.Algorithms/src/System/Security/Cryptography --X509Certificate~ https://github.com/dotnet/corefx/tree/master/src/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates -ネイティブ実装~ ライセンスには各種Linuxディストリビューション毎のネイティブ実装のライセンスが表示されるので、~ 当該ライブラリのクロスプラットフォーム対応も完了しているものと考える。 #ref(license.png,left,nowrap,license) **[[.NET Standard]], [[.NET Core]]との差異 [#b47b5b91] ***X509Certificate2 [#b79342fc] pem形式が使える(多分)。 *参考 [#jda0c6e9] -NuGet Gallery | jose-jwt~ https://www.nuget.org/packages/jose-jwt/ -dvsekhvalnov/jose-jwt~ https://github.com/dvsekhvalnov/jose-jwt~ **サンプル・コード [#q8a19d35] https://github.com/OpenTouryoProject/SampleProgram/blob/master/Other/jose_jwt_Sample/jose_jwt_Sample/Program.cs ---- Tags: [[:IT国際標準]], [[:認証基盤]], [[:クレームベース認証]], [[:暗号化]], [[:.NET Core]], [[:.NET Standard]]