第2章 セキュリティーで保護されたリソースを解除するための初期キーの JBoss EAP への指定
2.1. Elytron の暗号化式 リンクのコピーリンクがクリップボードにコピーされました!
機密な文字列を秘匿するには、サーバー設定ファイルで機密な字列を指定する代わりに、暗号化表現を使用できます。
暗号化式とは、文字列を SecretKeyCredential で暗号化し、その文字列をエンコーディングの接頭辞とリゾルバー名と組み合わせたものです。エンコーディング接頭辞は、Elytron に式が暗号化されていることを伝えます。リゾルバーは、暗号化式をクレデンシャルストア内で対応する SecretKeyCredential にマッピングします。
Elytron の expression=encryption リソースは、暗号化式を使用して、実行時にその中の暗号化された文字列を復号します。設定ファイルの中で、機密な文字列そのものではなく、暗号化式を使用して文字列の機密性を守ることができます。暗号化式は、以下のような形式になります。
特定のリゾルバーを使用する場合の構文
${ENC::RESOLVER_NAME:ENCRYPTED_STRING}
${ENC::RESOLVER_NAME:ENCRYPTED_STRING}
ENC は、暗号化式を表す接頭語です。
RESOLVER_NAME は、Elytron が暗号化された文字列の復号時に使用するリゾルバーです。
例
${ENC::initialresolver:RUxZAUMQE+L5zx9LmCRLyh5fjdfl1WM7lhfthKjeoEU+x+RMi6s=}
${ENC::initialresolver:RUxZAUMQE+L5zx9LmCRLyh5fjdfl1WM7lhfthKjeoEU+x+RMi6s=}
デフォルトのリゾルバーで暗号化式を作成すると、以下のようになります。
デフォルトのリゾルバーを使用する場合の構文
${ENC::ENCRYPTED_STRING}
${ENC::ENCRYPTED_STRING}
例
${ENC::RUxZAUMQE+L5zx9LmCRLyh5fjdfl1WM7lhfthKjeoEU+x+RMi6s=}
${ENC::RUxZAUMQE+L5zx9LmCRLyh5fjdfl1WM7lhfthKjeoEU+x+RMi6s=}
この場合、Elytron は expression=encryption リソースで定義したデフォルトのリゾルバーを使用して式を復号化します。暗号化式は、対応の全リソース属性で使用できます。ある属性が暗号化式をサポートしているかどうかを調べるには、read-resource-description 操作などを使用します。
例: mail/mail-session の read-resource-description
この例では、from 属性が暗号化式をサポートしています。つまり、暗号化して、暗号化式を使用し、from フィールドのメールアドレスを非表示にできます。