Как получить privateKey как org.springframework.core.io.Resource - PullRequest
0 голосов
/ 23 марта 2019

Я использую пружинную интеграцию для подключения к SFTP-серверу с помощью закрытого ключа. Закрытый ключ поступает в приложение как внешняя строка. Как использовать ключ в коде ниже:

 <bean id="test"
        class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
        <property name="host" value="${host}" />
        <property name="privateKey" value="" />
        <property name="port" value="${port}" />
        <property name="user" value="${username}" />
        <property name="allowUnknownKeys" value="true" />
    </bean>

1 Ответ

1 голос
/ 23 марта 2019

Если вы имеете в виду, что ваш ключ закодирован как какая-то строка, то вам нужно подумать, чтобы обернуть его в ByteArrayResource.

Предположим, что у вас есть это свойство в каком-то файле, и вы используете заполнитель свойств:

<bean id="test"
    class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
    <property name="host" value="${host}" />
    <property name="privateKey">
        <bean class="org.springframework.core.io.ByteArrayResource">
              <constructor-arg value="#{'${my.sftp.private.key}'.bytes}"/>
        </bean>
    </property>
    <property name="port" value="${port}" />
    <property name="user" value="${username}" />
    <property name="allowUnknownKeys" value="true" />
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...