1

在我的应用程序中,我使用此 Google 示例中的 OAuth2Authenticator 对 Gmail 进行身份验证,以通过 Imap接收电子邮件。

该代码运行良好,但最近几天一些用户报告了在尝试连接到 Gmail 时发生的错误。

sun.security.provider.certpath.SunCertPathBuilderException:无法在 java.security.cert.CertPathBuilder.build(Unknown Source) 的 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source) 处找到请求目标的有效证书路径: sun.security.validator.ValidatorException: PKIX 路径构建在 sun.security.validator.PKIXValidator.doBuild(Unknown Source) at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) at sun.security.validator.Validator 失败。在 sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source) 验证(Unknown Source) 原因:javax sun.security.ssl 处的 .net.ssl.SSLHandshakeException。在 sun.security.ssl.Handshaker.fatalSE(Unknown Source) at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source) at sun.security.ssl.Handshaker.fatalSE(Unknown Source) at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source) 在 sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) 在 sun.security.ssl.Handshaker.processLoop(Unknown Source) 在 sun.security.ssl.Handshaker。 sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 处的 process_record(Unknown Source)security.ssl.ClientHandshaker.processMessage(Unknown Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source) at sun.security.ssl.Handshaker.process_record(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(来源不明)security.ssl.ClientHandshaker.processMessage(Unknown Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source) at sun.security.ssl.Handshaker.process_record(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(来源不明)

ImapSSLStore 在端口 993 上连接到“imap.gmail.com”。

这不会发生在所有用户身上,也不会发生在上周之前。

有人也在观察这种行为吗?提示赞赏!

4

1 回答 1

1

看起来您的系统用于验证 SSL 证书的 X.509 配置并未将 Google 的证书视为受信任的证书。这可能有各种原因。

于 2013-06-06T12:30:38.277 回答