(BluePrism)暗号化のあれやこれや ~その2 アプリケーションサーバとの関係~
こんばんは、おむおむです。
どうやらこのブログをBP社の方もご認識いただいているらしく。
嬉しい限りですねハイ。
今回はBlue Prism Serverサービスと暗号化の関係について書いていこうと思います。
「間違ってるわ!」という箇所があればご指摘よろしくオナシャス!!!
起動してみよう
まずはインストールフォルダの中からBPServer.exeを起動します。
(管理者権限が必要)
プロファイルを設定してみよう
起動したら新規とか、すでに作っている場合は編集とかをクリック!
接続モードは、まああれっすね、こんな感じ。
・HTTP通信を使いたいならWCF、TCP通信を使いたいなら.NET Remoting
・同じADのドメイン内にあるならWindows認証を使用するやつ
的な判断でいいんじゃないかと思われ。
あと、VMWareを入れている場合、なぜかVMWareのブリッジ接続用の
ネットワークアダプタ(VMware Network Adapter VMnet8)が使われてしまう場合があるので、
一応バインディングのところに使いたいIPアドレスを入力したほうがよいかもです。
暗号化
やっと本題。最初の環境構築の時にほぼ確でハマるやつ。
デフォルトの暗号化方式
1つ目の罠!
Blue Prismの暗号化方式のところを見てみると、
「デフォルトの暗号化方式」と表示されているのですが!ですが!
データベースの中を見てみると!
でふぉるとえんくりぷしょんすきーむ・・・
英語で入ってるんですよね。不思議~
なので、このまま使う場合は!
EnglishでInputしましょう!Yeah!
キーの場所
理解を妨げる罠その2!キーの場所!
キーの場所が「アプリケーションサーバー」の場合はまあいいじゃないですか。
そのまんま、Appサーバのどこかに保存されるんだなー、的な。
ではキーの場所がデータベースならどうなるの?
「キーの場所がデータベースだからAppサーバでは特になんもせんでもええやろ!」
そりゃっ起動じゃい!
(´;ω;`)ウゥゥ
どうやら、キーの場所をデータベースにしても、Appサーバ側で指定する必要があるようですね。。。
キーの中身
ここで私は考える。
「キーの中身は、Appサーバ側とIC側で合わせなきゃあかんのか・・・?」と。
結論から言うと!合わせなくてもいいんだよ!
どうやらBlue Prismの仕様上、IC側で設定した暗号化スキームと同名でAppサーバ側でも鍵を作ってあげる必要があるんですが、鍵の場所がデータベースの場合、
Appサーバで作った鍵は、実際には使われないというややこしいことに。。。
だから実際にはこんなことになるわけですわ。
・IC側で場所をデータベースにしてキーの中身を自動生成
そしてAppサーバ側で同名のキーを指定してこちらも中身を自動生成(もちろんIC側と違うキーができる)
そして動かしてみる
やったぜ
コマンドプロンプトからも8199(デフォルトのポート)がListeningになっていることを確認できた
(ファイアウォールが開いているとは言ってない)
結論
・鍵の場所はどこだろうが、とりあえずAppサーバ側で同名の暗号化スキームを用意してあげる必要がある
・鍵の場所がデータベースの場合も、Appサーバ側で作ってあげることが必須だが、
実際には使われないという悲しい運命
・DB作成直後にデフォで用意されている「デフォルトの暗号化方式」を使うなら
「Default Encryption Scheme」とEnglishでSpecifyしてあげることがMust
次は何書こうかな