首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android、Golang和SSL

Android、Golang和SSL
EN

Stack Overflow用户
提问于 2014-08-30 15:07:02
回答 1查看 473关注 0票数 1

这是我的代码片段,用于在我的android应用程序上构造SSL套接字。我有一个go服务器,它正试图连接到它。我已经签署了证书,而不是自己签署的,但我仍然收到错误,

trust anchor for certification path not found. android

代码语言:javascript
运行
复制
        SSLSocketFactory f = (SSLSocketFactory) SSLSocketFactory.getDefault();

        try {
            SSLSocket socket = (SSLSocket) f.createSocket(ip, port);
            socket.startHandshake();

所以,我不知道是因为我的服务器不正确,还是因为android应用程序。我在android的主要网站上看到了这个错误,但它对我并没有真正的帮助。

这是go代码,也许能给你带来一些启发。

代码语言:javascript
运行
复制
  cert, err := tls.LoadX509KeyPair("mycert_com.crt", "key.pem")
  checkError(err)                                                         

  rootCert, err := ioutil.ReadFile("AddTrustExternalCARoot.crt")   
  checkError(err)                                                         
  trustCert, err := ioutil.ReadFile("COMODORSAAddTrustCA.crt")        
  checkError(err)                                                         
  validationCert, err := ioutil.ReadFile("COMODORSADomainValidationSecureServerCA.crt")
  checkError(err)                                                         

  certs := x509.NewCertPool()                                                   
  certs.AppendCertsFromPEM(rootCert)                                            
  clientCerts := x509.NewCertPool()                                             
  clientCerts.AppendCertsFromPEM(trustCert)                                     
  clientCerts.AppendCertsFromPEM(validationCert)                                

  sslConfig := tls.Config{RootCAs: certs, ClientCAs: clientCerts, Certificates: []tls.Certificate{cert}}                                                 

  listener, err := tls.Listen("tcp", service, &sslConfig)

我已经被困在这几个星期了。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-30 15:47:53

您的问题在于糟糕的服务器,当您尝试使用openssl s_client时,您会看到这一点。有关如何修复服务器的类似问题,请参阅golang SSL certification。正如我在那里所说的:根据文档,您必须将中间证书放入Certificates,而不是放入RootCAsClientCAs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25579907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档