連載
|
|
Page1
Page2
|
ConfigurationコンソールでCryptoABの構成を設定する
CryptoABをアプリケーションで利用するためには、「The Enterprise Library Configuration Console」(以下Configurationコンソール)でCryptoABの構成管理設定を行っておく必要がある。
■ConfigurationコンソールでのCryptoABの追加
今回は「アプリケーション」ノードに「Cryptography Application Block」ノードを追加する。
■Symmetric Algorithm Providerで利用する共有キーの構成設定
次に対称暗号方式(共有キー暗号方式)用のプロバイダであるSymmetric Algorithm Providerを追加する。これを行うには上記手順にて追加した「Symmetric Provider」ノード上を右クリックしてコンテキスト・メニューを表示し、そこから「New」−[Symmetric Algorithm Provider]を選択して[Type Selector]ダイアログを表示する。
[Type Selector]ダイアログ |
上記手順にて追加した「Symmetric Provider」ノード上を右クリックしてコンテキスト・メニューを表示し、そこから「New」−[Symmetric Algorithm Provider]を選択して表示する。 |
この[Type Selector]ダイアログの中からRijndaelアルゴリズム用の「RijndaelManaged」プロバイダを選択すると、[Cryptographic Key Wizard]ダイアログが表示されるので、「Create a new key」を選択し、[Next]ボタンを押下する。
[Cryptographic Key Wizard]ダイアログ |
[Type Selector]ダイアログの中からRijndaelアルゴリズム用の「RijndaelManaged」プロバイダを選択すると表示される。ここでは「Create a new key」を選択し、[Next]ボタンを押下する。 |
続いて共有キーの生成画面に切り替わるため、[Generate]ボタンを押下し、共有キーを自動生成後、[Next]ボタンを押下する。
[Cryptographic Key Wizard]ダイアログ - 共有キーの自動生成 |
[Generate]ボタンを押下し、共有キーを自動生成後、[Next]ボタンを押下する。 |
続いて、共有キーを格納するストア・ファイルを配置するパス(本稿の例では「C:\Sample.key」)を指定し、[Next]ボタンを押下する。
[Cryptographic Key Wizard]ダイアログ - ストア・ファイルの配置パスの設定 |
共有キーを格納するストア・ファイルを配置するパスを指定し、[Next]ボタンを押下する。 |
最後に、data protection mode(データ保護モード)を「User mode」か「Machine mode」から選択し、[Finish]ボタンを押下すれば、すべての設定は終了である。
[Cryptographic Key Wizard]ダイアログ - data protection modeの設定 |
data protection mode(データ保護モード)を「User mode」か「Machine mode」から選択し、[Finish]ボタンを押下すれば、すべての設定は終了である。 |
User modeは暗号化対象データをサーバ上のほかのアプリケーションと共有する必要がない場合に選択し、共有する必要がある場合はMachine modeを選択するとよいだろう。
■「Cryptography Application Block」配下の各ノードにおけるプロパティ設定
以下の表は、上記の各ノードの各プロパティの設定例である。
プロパティ
|
設定値 | |||
Cryptography Application Block | DefaultHashProvider | なし | ||
DefaultSymmetricCryptoProvider | RijndaelManaged | |||
Name | Cryptography Application Block | |||
Hash Providers | Name | Hash Providers | ||
Symmetric Providers | Name | Symmetric Providers | ||
RijndaelManaged | AlgorithmType | System.Security.Cryptography.RijndaelManaged | ||
Key | <Hidden> | |||
Name | RijndaelManaged | |||
CryptoAB配下の各ノードのプロパティ設定例 | ||||
表中の太字の個所がデフォルト設定から変更した設定値である。 |
暗号化処理を実行する
CryptoABの暗号化機能を利用するサンプル・プログラムとして「CryptoABを使った場合のサンプル・プログラム」を示したが、今度はそのコードにさらに、暗号化されたデータを復号するコードを追加してみよう。
|
|
CryptoABの復号機能のサンプル・プログラム(C#) | |
太字の個所が追加された復号コードである。 このサンプル・プログラムを実行するには、以下のアセンブリを参照設定に追加する必要がある。 ・Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.dll |
このサンプル・プログラムを実行すれば、先述したサンプル・プログラムで暗号化されたデータを復号することができる。CryptoABは任意のデータの暗号化・復号以外にも、ハッシュ値を生成するためのメソッド(CreateHash)も併せて提供している。
■
以上、今回はCryptoABの概要説明と導入手順について解説した。.NET Frameworkのクラス・ライブラリだけでは煩雑になりがちな暗号化/復号処理が、CryptoABを利用することにより非常に簡潔になることがご理解いただけただろう。
次回はCaching Application Blockについて、ASP.NETのキャッシュ機能も踏まえて解説する予定である。
INDEX | ||
連載:Enterprise Library概説 | ||
暗号化機能を簡単に実装しよう | ||
1.暗号化とは | ||
2.ConfigurationコンソールでCryptoABの構成を設定する | ||
「Enterprise Library概説」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|