「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
https://techinfoofmicrosofttech.osscons.jp/index.php?.NET%E3%81%AE%E7%BD%B2%E5%90%8D%E3%83%BB%E6%9A%97%E5%8F%B7%E5%8C%96%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0]])
- Managed優先、無ければCSPを使用というポリシーで実装。
- CNG実装への移行は、まだ行っていない。
暗号ハッシュ †
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Util/GetHash.cs#L162
- Managed優先、無ければCSPを使用というポリシーで実装。
- Membership.GeneratePassword?を使っている。
RNGCryptoServiceProvider?に変更したい。
キー付きハッシュ †
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/Util/GetKeyedHash.cs#L182
- Managedのsuffixが無いが、MSDNではmscorlib.dllとなっているためManaged実装と思われる。
- キーは、Rfc2898DeriveBytes?を使用して生成している。
- HMACの実装が不足している。
- HMACSHA1のみ実装
- HMACMD5、HMACRIPEMD160、HMACSHA256、HMACSHA384、HMACSHA512が未実装。
秘密鍵暗号方式 †
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/IO/SymmetricCryptography.cs#L430
- AesCryptoServiceProvider?が例外的に余分に実装されている。
- キーは、Rfc2898DeriveBytes?を使用して生成している。
公開鍵暗号方式 †
https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/C%23/Frameworks/Infrastructure/Public/IO/ASymmetricCryptography.cs
- 暗号化・複合化で使用できるのは、RSACryptoServiceProvider?のみ。
署名・検証 †
なし。
乱数生成、キー生成 †
なし。
- 乱数発生にはRNGCryptoServiceProvider?を使ってもイイかもしれない。
- 対応プロバイダ(アルゴリズム)
- MD5CryptoServiceProvider?,
- SHA1CryptoServiceProvider?
- SHA1Managed
- SHA256Managed
- SHA384Managed
- SHA512Managed
- メソッド
- ハッシュ取得(バイト)
- ハッシュ取得(文字列)
- Salted and Hashed パスワード生成
- Salted and Hashed パスワード検証
- 対応プロバイダ(アルゴリズム)
- HMACSHA1
- HMACMD5
- HMACRIPEMD160
- HMACSHA256
- HMACSHA384
- HMACSHA512
- MACTripleDES
- メソッド
- ハッシュ取得(バイト)
- ハッシュ取得(文字列)
- Salted and Hashed パスワード生成
- Salted and Hashed パスワード検証
- パスワード生成クラス
RNGCryptoServiceProvider?を使用してパスワードを生成するクラス
- 対応プロバイダ
- AesManaged?
- DESCryptoServiceProvider?
- RC2CryptoServiceProvider?
- RijndaelManaged?
- TripleDESCryptoServiceProvider?
- 対応プロバイダ
- RSACryptoServiceProvider?
- 電子署名(X509 or RFC 3275 XML Key)
- 対応プロバイダ(アルゴリズム)
- RSACryptoServiceProvider?:MD5
- RSACryptoServiceProvider?:SHA1
- RSACryptoServiceProvider?:SHA256
- RSACryptoServiceProvider?:SHA384
- RSACryptoServiceProvider?:SHA512
- DSACryptoServiceProvider?:SHA1
- JWTアサーションの生成・検証
- HS256バージョン(HMACSHA256ハッシュによる署名・検証)
- RS256バージョン(RSACryptoServiceProvider?:SHA256による署名・検証)