我已經下載了apache james 2.3.2。目前我只想用ssl encyption讓它在localhost上工作(但我對ssl知之甚少)。最初,我設法讓它運行,創建帳戶(通過運行james-2.3.2/bin/run.bat)並使用mozilla thunderbird郵件客戶端連接到這些帳戶。當我嘗試創建一個自簽名ssl證書時,麻煩來了。我嘗試了兩種不同的方法。錯誤配置apache james 2.3.2以支持ssl:NoSuchAlgorithmException
運行密鑰工具-genkeypair我的主目錄中創建的.keystore 密鑰庫和
運行密鑰工具-genkeypair -alias證書-keystore my_keystore.pfx -storepass密碼 - validity 365 -keyalg RSA -keysize 2048 -storetype pkcs12在my_keystore.pfx中創建密鑰庫。
詹姆斯2.3.2將接受的.keystore但雷鳥不會和Thunderbird將接受my_keystore.pfx但詹姆斯拋出異常。我認爲錯誤可能在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
當我嘗試從批處理文件重新運行詹姆士一世得到NoSuchAlgorithException。曾嘗試使用算法標記allsorts而不是SHA256withRSA,但似乎沒有任何工作。如果有人知道答案我會很好。此外,如果有人知道如何打開日誌記錄,所以我可以在日誌文件中看到它也會有幫助。