在我的应用程序中,我使用此 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”。
这不会发生在所有用户身上,也不会发生在上周之前。
有人也在观察这种行为吗?提示赞赏!