我已经下载了 apache james 2.3.2。目前我只想让它在 localhost 上使用 ssl 加密(但我对 ssl 知之甚少)。最初我设法让它运行,创建帐户(通过运行 james-2.3.2/bin/run.bat)并使用 mozilla 雷鸟邮件客户端连接到这些帐户。当我尝试创建自签名 ssl 证书时,问题就来了。我尝试了两种不同的方法。
运行keytool -genkeypair 在我的主目录中的.keystore中创建一个密钥库,并且
运行keytool -genkeypair -alias certificate -keystore my_keystore.pfx -storepass password -validty 365 -keyalg RSA -keysize 2048 -storetype pkcs12在my_keystore.pfx创建一个密钥库。
james-2.3.2 将接受.keystore但 Thunderbird 不会,而 Thunderbird 将接受my_keystore.pfx但 James 会抛出异常。我认为错误可能在james-2.3.2/apps/james/SAR-INF/conf.xml
文件中。
<sockets>
<server-sockets>
<factory name="plain" class="org.apache.avalon.cornerstone.blocks.sockets.DefaultServerSocketFactory"/>
<factory name="ssl" class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
<ssl-factory>
<keystore>
<file>conf/my_keystore.pfx</file>
<password>password</password>
<key-password>password</key-password>
<type>PKCS12</type>
<protocol>TLS</protocol>
<algorithm>SHA256withRSA</algorithm>
<authenticate-client>false</authenticate-client>
</keystore>
</ssl-factory>
</factory>
</server-sockets
当我尝试从批处理文件再次运行 james 时,我得到NoSuchAlgorithException。尝试使用 allsorts 作为算法标签而不是 SHA256withRSA,但似乎没有任何效果。如果有人知道答案,我会很高兴。另外,如果有人知道如何打开日志记录,那么我可以在日志文件中看到它,这也会很有帮助。