CertPathValidatorException: ancla de confianza para la ruta del certificado no encontrada - Retrofit Android

Estoy creando una aplicación de Android que usahttps para la comunicación con el servidor. estoy usandoretrofit yOkHttp para hacer solicitudes Estos funcionan bien para estándarhttp peticiones. Los siguientes son los pasos que seguí.

Paso 1 : Adquirió el archivo cert del servidor usando el comando

echo -n | openssl s_client -connect api.****.tk:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > gtux.cert

Paso 2 : Convirtió el certificado a un formato BKS utilizando los siguientes comandos

keytool -importcert -v -trustcacerts -file "gtux.cert" -alias imeto_alias -keystore "my_keystore.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk16-146.jar" -storetype BKS

Me pidió contraseña y el archivo se creó con éxito.

Paso 3 :

Cree un OkHttpClient y use el mismo para hacer solicitudes https

public class MySSLTrust {
public static OkHttpClient trustcert(Context context){
    OkHttpClient okHttpClient = new OkHttpClient();
    try {
        KeyStore ksTrust = KeyStore.getInstance("BKS");
        InputStream instream = context.getResources().openRawResource(R.raw.my_keystore);
        ksTrust.load(instream, "secret".toCharArray());
        // TrustManager decides which certificate authorities to use.
        TrustManagerFactory tmf = TrustManagerFactory
                .getInstance(TrustManagerFactory.getDefaultAlgorithm());
        tmf.init(ksTrust);
        SSLContext sslContext = SSLContext.getInstance("TLS");
        sslContext.init(null, tmf.getTrustManagers(), null);
        okHttpClient.setSslSocketFactory(sslContext.getSocketFactory());
    } catch (KeyStoreException | IOException | NoSuchAlgorithmException | CertificateException | KeyManagementException e) {
        e.printStackTrace();
    }
    return okHttpClient;
}
}

Paso 4:

RestAdapter tiene que ser creado

RestAdapter.Builder()
.setRequestInterceptor(intercept)
.setEndpoint("https://api.****.tk")
.setClient(new OkClient(this))
.setLogLevel(RestAdapter.LogLevel.FULL)
.setLog(new AndroidLog("RETROFIT"))
.build();

Pero finalmente cuando ejecuto la aplicación me está arrojandoCertPathValidatorException : Trust anchor for certificate path not found. Por favor ayúdame a solucionar esto. Gracias.

Otros intentos de falla: Intenté instalar el certificado en mi Xperia Z2 y dice que el archivo se instaló, pero cuando ejecuto la aplicación se produce la misma excepción.

Registro de errores Aquí está el registro de errores que obtuve al ejecutar ...

Registro de errores

Pegado allí para que sea fácil de leer.

Respuestas a la pregunta(7)

Su respuesta a la pregunta