重要な前提条件:暗号化と復号化機能を使用するには、JVMにおける包括的なJCE(デフォルトの欠如)をインストールする必要があります。次のことが可能とOracleのダウンロードからインストール手順(実際にあなたがダウンロードした2つのポリシーファイルのJREのlib / securityディレクトリを置き換え)「のJava Cryptography Extension(JCE)無制限強度は、ポリシーファイルを管理する」に従ってください。
リモートソースはHTTPを介してクライアントに送信される前に、暗号化されたコンテンツの属性(初めに{}の暗号値)を含む場合は、復号化されます。この構成の主な利点は、それらが「静止」である場合、属性値はプレーンテキストではない、ということである(例えば、gitの倉庫)。値が復号化できない場合は、接頭辞としてプロパティ値からソースを削除し、同じキーで追加の属性を追加しますが、「無効」。そして "N" の値(一般に "<N / A>")。これは、パスワードや不慮の流出として使用されることからパスワードを防ぐために主にあります。
あなたは、クライアントアプリケーションにリモート構成リポジトリの設定を設定する場合application.ymlが含まれている、などがあります。
application.yml
春:
データソース:
名:DBUSERの
パスワード: '{}暗号FKSAJDFGYOS8F7GLHAKERGFHLSAJ'
暗号化された値のプロパティファイルは、引用符で囲まれていない可能性があり、それが値を復号化しません。
spring.datasource.username:DBUSERの
spring.datasource.password:{暗号} FKSAJDFGYOS8F7GLHAKERGFHLSAJ
あなたは安全にプレーンテキストでは、この共有gitリポジトリにプッシュし、秘密のパスワードすることができます。
サーバはまた、/暗号化及び/エンドポイント(これらのエンドポイントが保護され、唯一認可エージェントによってアクセスできると仮定)を復号露出させます。リモート設定ファイルを編集している場合は、/暗号化エンドポイントの暗号化の値にPOSTを経由して構成サーバーを使用することができ、例えば、
$カールはlocalhost:8888 /暗号化- D mysecret
682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda
逆動作もすることができる/decrypt
(サーバが対称鍵または鍵ペア完全で構成されている場合)、得られました:
値が文字暗号化されたURLエンコードする必要がありますする必要がある場合は、あなたが使用する必要があることに注意してください--data-urlencode
オプションをcurl
、彼らが正しくコーディングされていることを確認します。
$カールはlocalhost:8888 /復号化- D 682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda
mysecret
あなたがヒントカールテストを使用する場合は、(代わりに-dの)--data-でurlencodeを使用するか、明示的なコンテンツタイプセット:適切なデータは特別な文字(「+」でエンコードされていることを確認するには、テキスト/平野を、特にトリッキー)。
{暗号}プレフィックスへの暗号化された値を追加し、YAMLまたはプロパティファイルを配置し、その後記憶領域に送信し、リモート潜在的に危険にプッシュ。
/暗号化及び/復号化エンドポイントが受け入れた/ * / {名} / {プロファイル}は、クライアントがホスト環境リソースに呼び出したときに、パスを形成する、各アプリケーションが使用することができる(名)及びパスワード制御プロファイル。
パスワードを制御するには、この微妙な方法で、あなたも@BeanのTextEncryptorLocatorタイプを提供しなければならないことに注意してください、それぞれの名前とプロファイルごとに異なる暗号を作成することができます。デフォルトで提供します(すべて同じ暗号化キーを使用して)しないだろう。
コマンドラインクライアントスプリング(拡張子は春クラウドCLIをインストール)暗号化と復号化にも使用することができる、例えば
$春の暗号mysecret - キーのfoo 682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda $スプリング解読 - キーのfoo 682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bdaの mysecret
例えば、「!」タイプのキーを使用して、ファイルに(RSA公開鍵暗号化のための、例えば、)キーを使用して、ファイル・パスを提供するために、
$春の暗号化mysecret --key @ $ {HOME} /。sshを/ id_rsa.pub
AQAjPgt3eFZQXwt8tsHAVv / QHiY5sI2dRcR + ...
重要なパラメータは、(存在するが必須である--
接頭辞)。社会電子商取引プラットフォームのソースコード、ペンギンBEGを追加してください。3 4 5 6 3 II気II五十から九