encrypted 属性
encrypted 属性を使用すると、value 属性 (「ストリング」フィールド) に含まれる入力キー・シーケンスを 暗号化できます。value 属性の内容が暗号化されると、 Host On-Demand は入力キー・シーケンスの暗号化バージョンのみをマクロ・スクリプト (<input> エレメント) に保管し、その入力キー・シーケンスのプレーン・テキスト (暗号化されていない) バージョンは保存しません。
input value="'myPassword'" row="20" col="16" movecursor="true"
xlatehostkeys="true" encrypted="false" />
input value="I7xae6rSVlVFF6qzhWRfKw==" row="20" col="16"
movecursor="true" xlatehostkeys="true" encrypted="true" />
マクロ・エディターでは、暗号化された入力キー・シーケンスはアスタリスクで表示されます (例えば、暗号化された 'myPassword' は「ストリング」フィールドに I7xae6rSVlVFF6qzhWRfKw== ではなく、************************ と表示されます)。
暗号化によって、パスワードのような機密データを表示することなく入力アクションに 組み込むことができます。許可のないユーザーが、テキスト・エディターやマクロ・エディターによるマクロ・スクリプトの表示から、またはソースの表示から、機密データを見つけることはできません。
入力キー・シーケンスが暗号化されると Host On-Demand は、ユーザー自身や他のユーザーがマクロ・エディターまたは ソース表示を使用して暗号化解除できないようにします。マクロ・ランタイムがマクロ再生中に入力アクションを処理するまで、Host On-Demand は 暗号化された入力アクションの入力キー・シーケンスを暗号化解除しません。マクロ・ランタイムは入力アクションを処理するとき、暗号化された入力キー・シーケンスを 暗号化解除し、暗号化されていないバージョンを指定された行および 列の位置からセッション・ウィンドウに入力します。
特に 3270 または 5250 環境では、パスワードのような機密入力キー・シーケンスの ために、ホスト・アプリケーションは入力キー・シーケンスの宛先として非表示入力フィールドを 作成するため、プレーン・テキストでなくブランクまたはアスタリスク (*) が表示されます。
ただし、略式すぎる表示にマクロ・スクリプトが公開された場合、機密漏れの可能性が残ります。悪意のあるユーザーがマクロ・スクリプトのコピーにアクセスする権限を持つと、マクロの実行中にマクロ・ランタイムが暗号化解除された入力キー・シーケンスを標準の表示可能フィールドに入力するよう入力アクションの「行」および「列」フィールドを編集し、オリジナルの 暗号化されていない入力キー・シーケンスを見つけることが可能になります。
入力アクションを使用すると、エンド・ユーザーの介入なしでマクロの再生中にマクロ・スクリプトを 自動的に実行する、という利点があります。ただし、機密データが変更される (例えば、パスワードの期限が切れ、新しい別のパスワードが 必要になる) と、新しい入力キー・シーケンスで入力アクションを更新する必要があります。