2014-07-11 2 views
2

BouncyCastle을 Spring 애플리케이션에 추가하려고하는데 JavaConfig를 사용하여 java.security.Security 공급자 목록에 공급자를 추가하는 방법을 모르겠습니다.Javaconfig를 사용하여 Spring 애플리케이션에 보안 공급자를 추가하는 방법은 무엇입니까?

는 XML 구성을 사용하여, 나는 다음 MethodInvokingFactoryBean 유사한를 사용할 수 있습니다

<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
    <property name="staticMethod" value="java.security.Security.addProvider"/> 
    <property name="arguments"> 
    <list> 
     <bean class="org.bouncycastle.jce.provider.BouncyCastleProvider"/> 
    </list> 
    </property> 
</bean> 

을하지만, 나는이 사용 JavaConfig을 할 수있는 올바른 방법의 확실하지 않다. 여전히 MethodInvokingFactoryBean을 사용해야하나요? 나는 순수 자바이기 때문에 더 직접적인 접근이있을 것이라고 추정했다. 순간, 나는 JavaConfig 객체의 @PostConstruct 방법에 대한 지침을 추가했습니다,하지만 그것에 대해 너무 흥분하지 - 조금 "해키"보인다 나에게 :

@Configuration 
public class AppConfig { 
    // other @Bean definitions 

    @PostConstruct 
    public void init(){ 
     Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider()); 
    } 
} 

답변

1

MethodInvokingBean가 사실상 선택이 될 것입니다 BouncyCastleProvider ~ java.security.Security을 추가하면 응용 프로그램 컨텍스트에 노출 될 필요가 없기 때문입니다.