Android vôley auto-assinado HTTPS âncora de confiança para o caminho de certificação não encontrado

Eu sou um novato android. Essa pergunta já foi feita muitas vezes, mas eu já passei por quase todas as perguntas aqui.

Estou tentando usar um certificado autoassinado no servidor Node.Js (usando express) e Volley no android.
Usando:http://blog.applegrew.com/2015/04/using-pinned-self-signed-ssl-certificate-with-android-volley/

Não posso usarhttp://ogrelab.ikratko.com/using-android-volley-with-self-signed-certificate/ porque há muito código para alterar no meu aplicativo.

Esse é o erro.

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: âncora de confiança para o caminho de certificação não encontrado.

Meu código de volleysingelton:

private SSLSocketFactory newSslSocketFactory() {
    try {
        // Get an instance of the Bouncy Castle KeyStore format
        KeyStore trusted = KeyStore.getInstance("BKS");
        // Get the raw resource, which contains the keystore with
        // your trusted certificates (root and any intermediate certs)
        InputStream in = mCtx.getResources().openRawResource(R.raw.evennewer);
        try {
            // Initialize the keystore with the provided trusted certificates
            // Provide the password of the keystore
            trusted.load(in, KEYSTORE_PASSWORD);
        } finally {
            in.close();
        }

        String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
        TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
        tmf.init(trusted);

        SSLContext context = SSLContext.getInstance("TLS");
        context.init(null, tmf.getTrustManagers(), null);

        SSLSocketFactory sf = context.getSocketFactory();
        return sf;
    } catch (Exception e) {
        throw new AssertionError(e);
    }
}

Meu código Node.Js:

var config     = {
  key: fs.readFileSync('./ssl/newkey.key'),
 cert: fs.readFileSync('./ssl/newcert.crt')
};
var port = 443;
var server = https.createServer(config, app).listen(port, function(){
console.log("Express server listening on port " + port);
});

E o debug openssl retornou:

Verificar código de retorno: 18 (certificado autoassinado)

questionAnswers(1)

yourAnswerToTheQuestion