我使用Apache james作为邮件服务器,我需要使用X509证书实现客户端和服务器端身份验证。
服务器端非常简单,只需要在config.xml中进行配置 - 但是clientauth怎么样?
是否有一种通过配置实现此功能的简单方法? 在config.xml的sockets-Area中,我可以将authenticate-client设置为true,但是James wiki说我只允许在keystore-section下提供的密钥库中只放置一个证书:
<factory name="ssl" class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
<authenticate-client>true</authenticate-client>
<ssl-factory>
<keystore>
<file>conf/@KEYSTORE_FILENAME@</file>
<password>@KEYSTORE_PASSWORD@</password>
<key-password>@PRIVATEKEY_PASSWORD@</key-password>
<type>JKS</type>
<protocol>TLS</protocol>
<algorithm>SunX509</algorithm>
</keystore>
</ssl-factory>
</factory>
因此,如果您有关于如何执行此操作的建议或了解处理此问题的教程,我将非常感谢您分享它。
谢谢!
答案 0 :(得分:1)
如果您愿意,可以将所有证书放入密钥库。但是因为我需要明确地关注密钥和信任库,所以我改变了詹姆斯的来源,这是可能的。
不幸的是,没有更简单的方法可以做到这一点。