2014-07-11 91 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?我推測,因爲它是純java,所以會有更直接的方法。目前,我已經添加了指令的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,因爲您不需要對應用程序上下文進行任何處理。

相關問題