「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>機能一覧]] * 目次 [#adce8a06] #contents *概要 [#s9dee55e] -Managed優先、無ければCSPを使用というポリシーで実装。 -CNG実装への移行は、まだ行っていない。 *乱数生成、キー生成 [#q715ba2e] https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/GetPassword.cs パスワード生成クラス **対応プロバイダ [#bb7f5eb5] ***RNGCryptoServiceProvider [#gc53f04f] **メソッド [#f498508d] *暗号ハッシュ [#la4e1baf] https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/GetHash.cs 通常のハッシュを取得 **対応プロバイダ(アルゴリズム) [#u59462a2] ***MD5CryptoServiceProvider, [#hb1a51d0] ***SHA1CryptoServiceProvider [#t0da7c1c] ***SHA1Managed [#b006f956] ***SHA256Managed [#l2aae73b] ***SHA384Managed [#w5745dd5] ***SHA512Managed [#v24c0a37] **メソッド [#u774fb4b] ***ハッシュ取得(バイト) [#k0169748] ***ハッシュ取得(文字列) [#p8159d22] ***Salted and Hashed パスワード生成 [#hb061729] ***Salted and Hashed パスワード検証 [#n8087fec] *キー付きハッシュ [#o0ef5dab] https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/GetKeyedHash.cs キーを使用してハッシュを取得 **対応プロバイダ(アルゴリズム) [#sa4cd7ae] Managedのsuffixが無いが、MSDNではmscorlib.dllとなっているためManaged実装と思われる。 ***HMACSHA1 [#b94181a2] ***HMACMD5 [#o8583365] ***HMACRIPEMD160 [#kfcdc29b] ***HMACSHA256 [#n4b6b286] ***HMACSHA384 [#c8ad8ad4] ***HMACSHA512 [#o0266b72] ***MACTripleDES [#b1ac690c] **メソッド [#a533e308] ***ハッシュ取得(バイト) [#a4af2098] ***ハッシュ取得(文字列) [#u9fc47df] ***Salted and Hashed パスワード生成 [#j2ddaf9b] ***Salted and Hashed パスワード検証 [#ye556db7] *秘密鍵暗号方式 [#m1c66e75] https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/SymmetricCryptography.cs 対称アルゴリズムによる暗号化・復号化 **対応プロバイダ [#r89df60e] ***AesManaged [#y14e0382] ***DESCryptoServiceProvider [#xcf1d8d9] ***RC2CryptoServiceProvider [#rf4dc9e0] ***RijndaelManaged [#o0884777] ***TripleDESCryptoServiceProvider [#lbe6cfca] **メソッド [#r00874df] ***暗号化 [#a41c1ded] ***復号化 [#i45d996c] *公開鍵暗号方式 [#r9036717] https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/ASymmetricCryptography.cs 非対称アルゴリズムによる暗号化・復号化 **対応プロバイダ [#i583744e] ***RSACryptoServiceProvider [#we3cb801] 暗号化・複合化で使用できるのは、RSACryptoServiceProviderのみ。 **メソッド [#b9d36712] ***秘密鍵と公開鍵を取得 [#q909f850] ***暗号化 [#v609ffab] ***復号化 [#e2769d54] *署名・検証 [#s1ca647e] -https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/DigitalSign.cs --https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/DigitalSignX509.cs --https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Security/DigitalSignXML.cs **対応プロバイダ(アルゴリズム) [#pd1af70c] ***RSACryptoServiceProvider:MD5 [#oa154517] ***RSACryptoServiceProvider:SHA1 [#e5887e1e] ***RSACryptoServiceProvider:SHA256 [#ka038695] ***RSACryptoServiceProvider:SHA384 [#q6c9776f] ***RSACryptoServiceProvider:SHA512 [#f2c0de43] ***DSACryptoServiceProvider:SHA1 [#k5dce091] **メソッド [#nb4bfdec] ***署名 [#q2209377] ***検証 [#ded746e2] *[[JWTの生成と検証]] [#b2349dd5] *部品の検証ツール [#q103f322] 以下のツールで、各種、暗号・復号化 部品を検証できる。 -https://github.com/OpenTouryoProject/OpenTouryo/tree/develop/root/programs/C%23/Frameworks/Tools/Encryption/EncAndDecUtil #ref(tool.png,left,nowrap,ツール) このツールの使用前に、「[[ココ>汎用認証サイトのファーストステップガイド (1)#te05840e]]」と同じ手順で、証明書をインストールする。 このツールの使用する証明書のパスは、 -\root\programs\C#\Frameworks\Tools\Encryption\EncAndDecUtil\ --EncAndDecUtil_RS256.pfx --EncAndDecUtil_RS256.cer となっている。