javamail通过tls在工作站上但不在服务器上发送

雷暴

我可以在工作站上连接并向自己发送电子邮件

工作站版本:

  • Java- 1.6.0_21
  • Tomcat- 6.0.29

但是在服务器上,我得到一个错误:

javax.mail.MessagingException: Could not connect to SMTP host: 
  smtpa.state.ak.us, port: 465 
  (java.net.SocketException: java.security.NoSuchAlgorithmException: 
     Error constructing implementation 
     (algorithm: Default, provider: SunJSSE, 
      class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl))  

在堆栈跟踪的底部是以下部分

Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect
        at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
        at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
        at java.security.KeyStore.load(Unknown Source)
        at com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl.getCacertsKeyStore(Unknown Source)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultTrustManager(Unknown Source)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.<init>(Unknown Source)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.lang.Class.newInstance0(Unknown Source)
        at java.lang.Class.newInstance(Unknown Source)
        ... 76 more
Caused by: java.security.UnrecoverableKeyException: Password verification failed
        ... 88 more

服务器正在运行:

  • Java- 1.6.0_18-b-07
  • Tomcat- 6.0.28

Javamail与我的Web应用程序捆绑在一起,并且是1.4.3

编辑:

为了完整起见,我将捆绑的Javamail升级1.5.0-b01,
但仍然遇到相同的错误。

keytool -list -keystore <path-to-default-java-keystore> 默认的Java密钥库密码在两个系统上均可使用。

进一步编辑:

经过更多的挖掘之后,我发现了这样的问题:访问Tomcat的配置的KeyStore和TrustStore

我在应用程序中添加了一些日志记录语句:在Workstation上获得的结果与在服务器上获得的结果相同。

10-25@12:20:30 DEBUG [statements] TextEmail - javax.net.ssl.trustStore: null
10-25@12:20:30 DEBUG [statements] TextEmail - javax.net.ssl.trustStorePassword: fedizPass
10-25@12:20:30 DEBUG [statements] TextEmail - javax.net.ssl.trustStoreType: null
10-25@12:20:30 DEBUG [statements] TextEmail - javax.net.ssl.keyStore: null
10-25@12:20:30 DEBUG [statements] TextEmail - javax.net.ssl.keyStorePassword: fedizPass
10-25@12:20:30 DEBUG [statements] TextEmail - javax.net.ssl.keyStoreType: null

如果仔细查看,则不会返回默认密码,信任库也不会返回。我已经WS-FEDERATION配置了一个自定义trustStore的Fediz-1.1.0-SNAPSHOT我的Fediz代码正在使用Spring-Security插件。所有这些都能正常工作。我在WorkStation和Test Server上都部署了第二个应用程序,该应用程序也使用了它。它也可以正常工作,并且可以通过FTPS将文件发送到另一台服务器。另外,如果在SystemProperties中提供了错误的密码,那么为什么它在我的工作站而不在服务器上可以工作?

雷暴

多亏了@Bill Shannon,我才得以将其投入使用。

我结束了延伸MailSSLSocketFactory,在一个示例中列出的JavaMail - SSLNotes
我跟着JSSE参考-创建自己的X509TrustManager
我用它来添加一个备份的TrustManager,抓住默认密钥库System.getProperty("java.home")并通过默认密码。如果X509TrustManager由创建的默认MailSSLSocketFactory证书无法验证证书,它将尝试将其设置为备用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HP工作站上的Ubuntu服务器

来自分类Dev

日期时间在本地工作,但不在服务器上

来自分类Dev

Laravel 邮件在本地工作但不在服务器上

来自分类Dev

Codeigniter发送邮件在localhost中工作,但不在服务器中工作

来自分类Dev

Codeigniter发送在localhost中工作但不在服务器中工作的邮件

来自分类Dev

在具有RAID 5的HP xw9400工作站上安装10.04服务器

来自分类Dev

CORS发布请求在本地工作,但不在服务器上

来自分类Dev

.htaccess在本地工作,但不在1and1服务器上

来自分类Dev

jQuery在jsfiddle上工作但不在我的服务器上

来自分类Dev

加载外部URL工作本地但不在服务器上

来自分类Dev

适用于Node.js的Canvas在本地工作,但不在Heroku服务器上

来自分类Dev

未捕获的错误:$injector:modulerr; 在本地工作但不在服务器上

来自分类Dev

SP 在本地主机上工作,但不在实时服务器上

来自分类Dev

laravel groupby 正在我的本地工作,但不在实时服务器上

来自分类Dev

Curl Scraper 在本地主机上工作但不在在线服务器上

来自分类Dev

javascript 在本地服务器上工作,但不在实时服务器 2 上工作

来自分类Dev

Travis项目失败,但不在自己的服务器上

来自分类Dev

网站在本地工作,但不在 NodeJS 网络服务器上,初学者

来自分类Dev

通过SSH从Ubuntu工作站远程监视Linux服务器

来自分类Dev

Glimpse在本地工作,不在远程服务器上

来自分类Dev

使用Chef从工作站在远程服务器上安装软件

来自分类Dev

Fedora上的服务器和工作站之间有什么区别?

来自分类Dev

RichTextBox 在本地服务器上工作,但不在 Azure Web API 服务器上工作

来自分类Dev

Bootstrap在本地主机上工作,但不在联机服务器上工作

来自分类Dev

ASP.Net LinkButton在本地工作,但不在服务器上工作

来自分类Dev

PHP页面在本地工作,但不在服务器上工作

来自分类Dev

jQuery .click(function(){})在本地工作,但不在服务器上工作

来自分类Dev

AJAX postdata 在本地主机上工作但不在(Apache)服务器上工作

来自分类Dev

在 mac 上工作但不在机器上工作 - linux ubuntu - 节点服务器

Related 相关文章

  1. 1

    HP工作站上的Ubuntu服务器

  2. 2

    日期时间在本地工作,但不在服务器上

  3. 3

    Laravel 邮件在本地工作但不在服务器上

  4. 4

    Codeigniter发送邮件在localhost中工作,但不在服务器中工作

  5. 5

    Codeigniter发送在localhost中工作但不在服务器中工作的邮件

  6. 6

    在具有RAID 5的HP xw9400工作站上安装10.04服务器

  7. 7

    CORS发布请求在本地工作,但不在服务器上

  8. 8

    .htaccess在本地工作,但不在1and1服务器上

  9. 9

    jQuery在jsfiddle上工作但不在我的服务器上

  10. 10

    加载外部URL工作本地但不在服务器上

  11. 11

    适用于Node.js的Canvas在本地工作,但不在Heroku服务器上

  12. 12

    未捕获的错误:$injector:modulerr; 在本地工作但不在服务器上

  13. 13

    SP 在本地主机上工作,但不在实时服务器上

  14. 14

    laravel groupby 正在我的本地工作,但不在实时服务器上

  15. 15

    Curl Scraper 在本地主机上工作但不在在线服务器上

  16. 16

    javascript 在本地服务器上工作,但不在实时服务器 2 上工作

  17. 17

    Travis项目失败,但不在自己的服务器上

  18. 18

    网站在本地工作,但不在 NodeJS 网络服务器上,初学者

  19. 19

    通过SSH从Ubuntu工作站远程监视Linux服务器

  20. 20

    Glimpse在本地工作,不在远程服务器上

  21. 21

    使用Chef从工作站在远程服务器上安装软件

  22. 22

    Fedora上的服务器和工作站之间有什么区别?

  23. 23

    RichTextBox 在本地服务器上工作,但不在 Azure Web API 服务器上工作

  24. 24

    Bootstrap在本地主机上工作,但不在联机服务器上工作

  25. 25

    ASP.Net LinkButton在本地工作,但不在服务器上工作

  26. 26

    PHP页面在本地工作,但不在服务器上工作

  27. 27

    jQuery .click(function(){})在本地工作,但不在服务器上工作

  28. 28

    AJAX postdata 在本地主机上工作但不在(Apache)服务器上工作

  29. 29

    在 mac 上工作但不在机器上工作 - linux ubuntu - 节点服务器

热门标签

归档