私はspring-cloud-configサーバーを使用しており、暗号化/復号化機能を使用しようとしています。暗号化/復号化機能をカスタマイズする方法はありますか?つまり、独自の暗号化基準を持ち、それらのライブラリを活用したいのです。Spring-Cloud-Configサーバーのカスタム暗号化/復号化
事前にお気軽にお問い合わせください。
私はspring-cloud-configサーバーを使用しており、暗号化/復号化機能を使用しようとしています。暗号化/復号化機能をカスタマイズする方法はありますか?つまり、独自の暗号化基準を持ち、それらのライブラリを活用したいのです。Spring-Cloud-Configサーバーのカスタム暗号化/復号化
事前にお気軽にお問い合わせください。
暗号化/復号化をカスタマイズする場合は、基本的にorg.springframework.security.crypto.encrypt.TextEncryptor
beanを自分でカスタマイズする必要があります。
楽観的に、あなたのapplication.properties/application.ymlからすべてのentrypt関連の設定を削除してください。JCEがクラスパスにないことを確認する必要があります。主な提案はspringのデフォルトの暗号化自動設定を無効にし、独自のTextEncryptor
beanです。
ここでは、非常に簡単なサンプルを追加して、既存のライブラリでMyTextEncryptor
を実装できます。
サンプル
@SpringBootApplication
@EnableConfigServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Component
static class MyTextEncryptor implements TextEncryptor {
@Override
public String encrypt(String text) {
return "encrypt\n";
}
@Override
public String decrypt(String encryptedText) {
return "decrypt\n";
}
}
}
参考:
org.springframework.cloud.bootstrap.encrypt.EncryptionBootstrapConfiguration
org.springframework.cloud.bootstrap.encrypt.EnvironmentDecryptApplicationInitializer
org.springframework.cloud.config.server.encryption.EncryptionController
は、私はカスタムにTextEncryptorを定義したが、現在の問題に直面して、ポインタのためにあなたに黎平ありがとう「{」:「 『説明をNO_KEY「」状態を』: 『いいえキーは暗号化サービスのためにインストールされませんでした』}」私はカールするときon/encryptエンドポイント。私がこれを乗り越えると更新されます。 – Swappy
@Swappy私は非常にsimleサンプルを更新しました、これがあなたを助けることを願っています。 –
ありがとう@コードスニペットのための@Liping。同様のサンプルを書きましたが、同じ関数変数 "text"を暗号関数から返しました(テストのために同じ値を返そうとしていました)。私の見解では、暗号化関数は "FOO"という値で呼び出され、 "FOO"を返すと "NO_KEY"というエラーが返されますが、入ってくるFOOが他の値に変更されると、 FOOBARは暗号化される実際の値で暗号化関数が再び呼び出されます。 – Swappy