2016-06-10 4 views
1

Running the client with SSL/TLS을 참조하십시오. 이것은 서버가 클라이언트 인증을 수행하는 시나리오를 설명합니다. TLS 연결을 처리하기 위해 Spring Integration을 사용하고 있습니다. 내 스프링 컨텍스트 파일은 다음과 같습니다봄 통합에서 클라이언트를 인증하기 위해 TLS 서버를 설정하는 방법은 무엇입니까?

<bean id="sslContextSupport" 
     class="org.springframework.integration.ip.tcp.connection.DefaultTcpSSLContextSupport"> 
     <constructor-arg value="file:keystore.jks"/> 
     <constructor-arg value="file:truststore.jks"/> 
     <constructor-arg value="keystorepass"/> 
     <constructor-arg value="trustpass"/> 
    </bean> 

    <int-ip:tcp-connection-factory id="crLfServer" 
      type="server" 
      port="${availableServerSocket}" 
      single-use="true" 
      so-timeout="10000" 
      using-nio="false" 
      ssl-context-support="sslContextSupport" /> 

내 서버 내 서버 및 클라이언트에 설치된 인증서와 SSL 연결 및 처리를 받고있다. 위의 스프링 구성이 클라이언트 인증 용으로 설정되어 있는지 여부는 확실하지 않습니다. SSL 트랜스 포트 레벨 또는 어플리케이션 코드에서 수행되는 클라이언트 인증입니까?

답변

1

스프링 통합 DefaultTcpSSLContextSupport은 완전히 SSLContext sslContext = SSLContext.getInstance(protocol);을 기반으로합니다. 표준 Java SSL/TLS 설명서에서 볼 수있는 내용이 여기에도 적용됩니다.

당신의 <int-ip:tcp-connection-factory> 유형 = "서버"를 생산하고, 그 확실히

의 경우이기 때문에 서버가 클라이언트 인증

모든 하드 SSL 작업이 SSLContext 계층에서 수행을하지, TcpNetServerConnectionFactory에 없으면 그 질문입니다.

즉, 스프링 통합인지 여부는 중요하지 않습니다. 모든 것은 사용자가 표준 SSL/TLS 접근 방식을 사용하는 다른 Java 응용 프로그램과 동일한 방식으로 작동합니다.

관련 문제