Spring boot встроенный конфиг Tomcat с шифрованием jasypt - PullRequest
0 голосов
/ 23 января 2019

Попытка использовать встроенный tomcat с весенней загрузкой 2.0. У меня есть конфигурация ssl, определенная в yaml, с одним зашифрованным свойством для пароля хранилища ключей.У меня есть bean-компонент jasypt encryptor, определенный в конфигурации приложения. При запуске загрузка контекста приложения завершается с ошибкой ниже

Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'jasyptStringEncryptor': Requested bean is currently in creation: Is there an unresolvable circular reference?
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:339) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:215) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEASE]
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.8.RELEASE.jar!/:5.0.8.RELEAS

APP_SERVER_SSL_PWD читается из системного свойства и имеет зашифрованное значение, определенное в формате ENC (значение).Использование открытого текста пароля прекрасно загружает контекст.

@Bean("jasyptStringEncryptor")
StringEncryptor stringEncryptor() {
    return new PBEStringEncryptorFactory().getPBEStringEncryptor(PBE_KEY_CONFIG_ENV_VAR,KEY_TYPE_ENVIRONMENT_VARIABLE);}

server:
 port: 8443
 ssl:
  enabled: true
  key-store: ${SECURE_DIR}/${SSL_KEY_STORE}
  key-store-type: JKS
  key-store-provider: SUN
  key-store-password: ${APP_SERVER_SSL_PWD}
  key-alias: ssl.server-pos-non-prod
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...