1

我使用 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>

因此,如果您对如何执行此操作有一些建议或知道处理此问题的教程,如果您能分享它,我将不胜感激。

谢谢!

4

1 回答 1

0

如果您愿意,可以将所有证书放入密钥库中。但是由于我需要明确区分密钥和信任库,所以我更改了 james 的来源,所以这是可能的。

不幸的是,没有更简单的方法可以做到这一点。

于 2012-09-03T11:07:02.577 回答