我使用 Apache james 作为邮件服务器,我需要使用 X509 证书实现客户端和服务器端身份验证。
服务器端非常简单,只需要在 config.xml 中进行配置 - 但是 clientauth 怎么样?
有没有简单的方法通过配置来实现?在 config.xml 的 sockets-Area 中,我可以将 authenticate-client 设置为 true,但 James wiki 说我只能在 keystore-section 下提供的 keystore 中放置一个证书:
<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>
因此,如果您对如何执行此操作有一些建议或知道处理此问题的教程,如果您能分享它,我将不胜感激。
谢谢!