1

Spring Integration 2.2.1で修正された更新

私はtcp-connection-factory

<int-ip:tcp-connection-factory id="tranServer" type="client" host="127.0.0.1" port="1234"
    single-use="true" ssl-context-support="sslContext" />

<bean id="sslContext" class="org.springframework.integration.ip.tcp.connection.support.DefaultTcpSSLContextSupport">
    <constructor-arg value="client.ks" />
    <constructor-arg value="client.truststore.ks" />
    <constructor-arg value="secret" />
    <constructor-arg value="secret" />
</bean>

また、インストールプロセスの一部としてSSL証明書をロードするため、SSLコンテキストにデフォルトのJavaキーストアを使用したいと考えています。デフォルトの鍵ストアおよびトラストストアのパスワードを指定するにはどうすればよいですか。

4

1 に答える 1

2

Spring Integration 2.2.1で修正された更新

本質的に問題は、メソッドDefaultTcpSSLContextSupportの a からキーストアとトラストストアをロードすることですClassPathResourcegetSSLContext()

ks.load(new FileInputStream(new ClassPathResource(keyStore).getFile()), keyStorePassword);
ts.load(new FileInputStream(new ClassPathResource(trustStore).getFile()), trustStorePassword);

を削除する独自のFileTcpSSLContextSupportクラスを作成しましたClassPathResource

ks.load(new FileInputStream(keyStore), keyStorePassword);
ts.load(new FileInputStream(trustStore), trustStorePassword);

次に、Beanを作成します

<bean id="sslContext" class="com.liquidtelecoms.tillintegration.FileTcpSSLContextSupport">
    <constructor-arg value="${java.home}/lib/security/cacerts" />
    <constructor-arg value="${java.home}/lib/security/cacerts" />
    <constructor-arg value="changeit" />
    <constructor-arg value="changeit" />
</bean>
于 2013-01-14T08:29:51.543 に答える