Вот фрагмент моего кода для просто построения SSL-сокета в моем приложении для Android. У меня есть сервер go, к которому он пытается подключиться. Я подписал сертификаты, а не сам подписанный, но я все еще получаю ошибку,Android, Golang и SSL
trust anchor for certification path not found. android
SSLSocketFactory f = (SSLSocketFactory) SSLSocketFactory.getDefault();
try {
SSLSocket socket = (SSLSocket) f.createSocket(ip, port);
socket.startHandshake();
Таким образом, я не могу понять, если это происходит из-за мой сервер не является правильным или андроид приложения. Я прочитал на главном сайте андроида об этой ошибке, но это не помогло мне.
Вот код идти, возможно, прольет некоторый свет где-то
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)
застрял на этом в течение нескольких недель.
Благодаря