encrypted 属性

encrypted 属性を使用すると、value 属性 (「ストリング」フィールド) に含まれる入力キー・シーケンスを 暗号化できます。value 属性の内容が暗号化されると、 Host On-Demand は入力キー・シーケンスの暗号化バージョンのみをマクロ・スクリプト (<input> エレメント) に保管し、その入力キー・シーケンスのプレーン・テキスト (暗号化されていない) バージョンは保存しません。

例えば 図 1 は、暗号化されていない入力キー・シーケンス ('myPassword') が入っている <input> エレメントを示します。
図 1. 暗号化されていない入力キー・シーケンスが 入っている <input> エレメント
input value="'myPassword'" row="20" col="16" movecursor="true"
          xlatehostkeys="true" encrypted="false" />
一方、図 2 は、入力キー・シーケンスが暗号化された (I7xae6rSVlVFF6qzhWRfKw==) 同じ <input> エレメントを示しています。この例では、<input> エレメントの encrypted 属性が true に設定されていることに注意してください。
図 2. 暗号化された入力キー・シーケンスが入っている <input> エレメント
input value="I7xae6rSVlVFF6qzhWRfKw==" row="20" col="16"
          movecursor="true" xlatehostkeys="true" encrypted="true" />

マクロ・エディターでは、暗号化された入力キー・シーケンスはアスタリスクで表示されます (例えば、暗号化された 'myPassword'「ストリング」フィールドに I7xae6rSVlVFF6qzhWRfKw== ではなく、************************ と表示されます)。

暗号化によって、パスワードのような機密データを表示することなく入力アクションに 組み込むことができます。許可のないユーザーが、テキスト・エディターやマクロ・エディターによるマクロ・スクリプトの表示から、またはソースの表示から、機密データを見つけることはできません。

入力キー・シーケンスが暗号化されると Host On-Demand は、ユーザー自身や他のユーザーがマクロ・エディターまたは ソース表示を使用して暗号化解除できないようにします。マクロ・ランタイムがマクロ再生中に入力アクションを処理するまで、Host On-Demand は 暗号化された入力アクションの入力キー・シーケンスを暗号化解除しません。マクロ・ランタイムは入力アクションを処理するとき、暗号化された入力キー・シーケンスを 暗号化解除し、暗号化されていないバージョンを指定された行および 列の位置からセッション・ウィンドウに入力します。

特に 3270 または 5250 環境では、パスワードのような機密入力キー・シーケンスの ために、ホスト・アプリケーションは入力キー・シーケンスの宛先として非表示入力フィールドを 作成するため、プレーン・テキストでなくブランクまたはアスタリスク (*) が表示されます。

ただし、略式すぎる表示にマクロ・スクリプトが公開された場合、機密漏れの可能性が残ります。悪意のあるユーザーがマクロ・スクリプトのコピーにアクセスする権限を持つと、マクロの実行中にマクロ・ランタイムが暗号化解除された入力キー・シーケンスを標準の表示可能フィールドに入力するよう入力アクションの「行」および「列」フィールドを編集し、オリジナルの 暗号化されていない入力キー・シーケンスを見つけることが可能になります。

セキュリティーを強化するには、入力アクションの代わりにプロンプト・アクションを 使用できます。プロンプト・アクションを使用すると、入力キー・シーケンスは、たとえ暗号化された形式でも マクロ・スクリプトに保管されることはありません。その代わり、マクロの再生中にプロンプト・アクションを処理するとき、マクロ・ランタイムは入力 フィールドと、入力キー・シーケンスを入力するようエンド・ユーザーに指示するメッセージが 入ったウィンドウをポップアップ表示します。エンド・ユーザーが入力キー・シーケンスを入力して「OK」をクリックすると、マクロ・ランタイムはポップアップ・ウィンドウを除去し、入力キー・シーケンスをセッション・ウィンドウの指定した行および列の位置に送信します。
注: プロンプトのデフォルト値は、暗号化されずにマクロ・ファイルに保管されます。デフォルト値は、マクロ・エディターでプロンプトを編集するときにはプレーン・テキストで表示されます。したがって、プロンプトを使用してパスワードを指定することは適切ですが、セキュリティー上の理由から、パスワードのデフォルト値は指定しないでください。

入力アクションを使用すると、エンド・ユーザーの介入なしでマクロの再生中にマクロ・スクリプトを 自動的に実行する、という利点があります。ただし、機密データが変更される (例えば、パスワードの期限が切れ、新しい別のパスワードが 必要になる) と、新しい入力キー・シーケンスで入力アクションを更新する必要があります。