CTeConsulta - Falha na geração do Cacerts

Bom dia pessoal,

Bem tenho minhas classes de consulta da situação de um CTe, entretanto quando executo e passo a chave do CTe, o erro retornado é o seguinte

INFO: | Loading KeyStore C:\Program Files\Java\jdk1.8.0_91\jre\lib\security\cacerts...
INFO: | Opening connection to cte.fazenda.gov.br:443...
ERROR: java.net.UnknownHostException: cte.fazenda.gov.br
log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAXUtils).
log4j:WARN Please initialize the log4j system properly.
ERROR: java.io.FileNotFoundException: CTeCacertsProd (O sistema não pode encontrar o arquivo especificado)

Utilizo essa mesma lógica para NFe, e funciona perfeitamente.

Segue abaixo minhas classes para consumir o WebService:

GerarCacerts.java

package br.com.Projeto.CTe;

import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream;  
import java.io.InputStream;  
import java.io.OutputStream;  
import java.security.KeyStore;  
import java.security.MessageDigest;  
import java.security.cert.CertificateException;  
import java.security.cert.X509Certificate;  
import javax.net.ssl.SSLContext;  
import javax.net.ssl.SSLException;  
import javax.net.ssl.SSLHandshakeException;  
import javax.net.ssl.SSLSocket;  
import javax.net.ssl.SSLSocketFactory;  
import javax.net.ssl.TrustManager;  
import javax.net.ssl.TrustManagerFactory;  
import javax.net.ssl.X509TrustManager;  
  
/** 
* 
* @author JavaC - Java Community 
*/  
public class GerarCacerts {  
    private static String JSSECACERTS = "CTeCacertsProd";  
    private static final int TIMEOUT_WS = 60;  
  
    public static void GeraArquivo(String enderecoWebService, String NomeDoArquivo) {  
        try {  
            /** 
             * Endereço do WebService. 
             * O Endereço abaixo é do Sefaz Virtual RS, altere para o endereço que 
             * for necessário. 
             */  
            JSSECACERTS = NomeDoArquivo;
            File cacertsFile = gerarCacerts(enderecoWebService, 443);  
            if (cacertsFile != null) {  
                info("| Cacerts gerado em: " + cacertsFile.getAbsolutePath());  
            }  
        } catch (Exception e) {  
            error(e.toString());  
        }  
    }  
  
    public static File gerarCacerts(String host, int port) throws Exception {  
            char[] passphrase = "changeit".toCharArray();  
  
        File file = new File(JSSECACERTS);  
        if (file.isFile() == false) {
            char SEP = File.separatorChar;
            File dir = new File(System.getProperty("java.home") + SEP + "lib" + SEP + "security");
            file = new File(dir, JSSECACERTS);
            if (file.isFile() == false) {
                file = new File(dir, "cacerts");
            }
        }
  
        info("| Loading KeyStore " + file + "...");  
        InputStream in = new FileInputStream(file);  
        KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());  
        ks.load(in, passphrase);  
        in.close();  
  
        SSLContext context = SSLContext.getInstance("TLS");  
        TrustManagerFactory tmf = TrustManagerFactory.getInstance(  
                    TrustManagerFactory.getDefaultAlgorithm());  
        tmf.init(ks);  
        X509TrustManager defaultTrustManager = (X509TrustManager) tmf.getTrustManagers()[0];  
        SavingTrustManager tm = new SavingTrustManager(defaultTrustManager);  
        context.init(null, new TrustManager[] { tm }, null);  
        SSLSocketFactory factory = context.getSocketFactory();  
  
        info("| Opening connection to " + host + ":" + port + "...");  
        SSLSocket socket = (SSLSocket) factory.createSocket(host, port);  
        socket.setSoTimeout(TIMEOUT_WS * 1000);  
        try {  
            info("| Starting SSL handshake...");  
            socket.startHandshake();  
            socket.close();  
            info("| No errors, certificate is already trusted");  
        } catch (SSLHandshakeException e) {  
            /** 
             * PKIX path building failed: 
             * sun.security.provider.certpath.SunCertPathBuilderException: 
             * unable to find valid certification path to requested target 
             * Nao tratado, pois sempre ocorre essa excecao quando o cacerts 
             * nao esta gerado. 
             */  
        } catch (SSLException e) {  
            error("| " + e.toString());  
        }  
  
        X509Certificate[] chain = tm.chain;  
        if (chain == null) {  
            info("| Could not obtain server certificate chain");  
            return null;  
        }  
  
        info("| Server sent " + chain.length + " certificate(s):");  
        MessageDigest sha1 = MessageDigest.getInstance("SHA1");  
        MessageDigest md5 = MessageDigest.getInstance("MD5");  
        for (int i = 0; i < chain.length; i++) {  
            X509Certificate cert = chain[i];  
            sha1.update(cert.getEncoded());  
            md5.update(cert.getEncoded());  
  
            String alias = host + "-" + (i);  
            ks.setCertificateEntry(alias, cert);  
            info("| Added certificate to keystore '" + JSSECACERTS + "' using alias '" + alias + "'");  
        }  
  
        File cafile = new File(JSSECACERTS);  
        OutputStream out = new FileOutputStream(cafile);  
        ks.store(out, passphrase);  
        out.close();  
  
        return cafile;  
    }  
  
    private static class SavingTrustManager implements X509TrustManager {  
        private final X509TrustManager tm;  
        private X509Certificate[] chain;  
  
        SavingTrustManager(X509TrustManager tm) {  
            this.tm = tm;  
        }  
  
        public X509Certificate[] getAcceptedIssuers() {  
            throw new UnsupportedOperationException();  
        }  
  
        public void checkClientTrusted(X509Certificate[] chain, String authType)  
            throws CertificateException {  
            throw new UnsupportedOperationException();  
        }  
  
        public void checkServerTrusted(X509Certificate[] chain, String authType)  
            throws CertificateException {  
            this.chain = chain;  
            tm.checkServerTrusted(chain, authType);  
        }  
    }  
  
    /** 
     * Log info. 
     * @param info 
     */  
    private static void info(String info) {  
        System.out.println("INFO: " + info);  
    }  
  
    /** 
     * Log error. 
     * @param error 
     */  
    private static void error(String error) {  
        System.out.println("ERROR: " + error);  
    }  
  
}  

CTeConsultaCTeA1.java

package br.com.Projeto.CTe;

import br.com.Projeto.Certificados.CertificadoFactoryA1;
import br.com.Projeto.Certificados.SocketFactoryDinamicoA1;
import br.com.Projeto.Certificados.TipoCertificado;
import br.com.Projeto.Principal.FormConsultaCTe;
import br.inf.portalfiscal.www.cte.wsdl.cteconsulta.CteConsultaStub;
import java.net.MalformedURLException;
import java.net.URL;  
import java.rmi.RemoteException;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.Enumeration;
import java.util.Iterator;
import javax.swing.JOptionPane;
import javax.xml.stream.XMLStreamException;
import org.apache.axiom.om.OMElement;  
import org.apache.axiom.om.util.AXIOMUtil;  
import org.apache.commons.httpclient.protocol.Protocol;
  
public class CTeConsultaCTeA1 {  
    
    private static final int SSL_PORT = 443;    
        
    public static String Consulta(String chaveDaCTe, String senhaDoCertificadoDoCliente) {                                                  
        try {            
            URL url = null;
            String codigoDoEstado = PegaUF.getChave().substring(0, 2);
            switch(Integer.parseInt(codigoDoEstado)){
/*Rondônia*/              case 11: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Acre*/                  case 12: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Amazonas*/              case 13: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Roraima*/               case 14: url = new URL("https://cte.fazenda.sp.gov.br/cteWEB/services/CteConsulta.asmx"); break;
/*Pará*/                  case 15: url = new URL("https://cte.fazenda.sp.gov.br/cteWEB/services/CteConsulta.asmx"); break;
/*Amapá*/                 case 16: url = new URL("https://cte.fazenda.sp.gov.br/cteWEB/services/CteConsulta.asmx"); break;
/*Tocantins*/             case 17: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Maranhão*/              case 21: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Piauí*/                 case 22: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Ceará*/                 case 23: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;                
/*Rio Grande do Norte*/   case 24: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Paraíba*/               case 25: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Pernambuco*/            case 26: url = new URL("https://cte.fazenda.sp.gov.br/cteWEB/services/CteConsulta.asmx"); break;
/*Alagoas*/               case 27: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Sergipe*/               case 28: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Bahia*/                 case 29: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Minas Gerais*/          case 31: url = new URL("https://cte.fazenda.mg.gov.br/cte/services/CteConsulta"); break;
/*Espírito Santo*/        case 32: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Rio de Janeiro*/        case 33: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*São Paulo*/             case 35: url = new URL("https://cte.fazenda.sp.gov.br/cteWEB/services/cteConsulta.asmx"); break;
/*Paraná*/                case 41: url = new URL("https://cte.fazenda.pr.gov.br/cte/CteConsulta?wsdl"); break;
/*Santa Catarina*/        case 42: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Rio Grande do Sul*/     case 43: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Mato Grosso do Sul*/    case 50: url = new URL("https://producao.cte.ms.gov.br/ws/CteConsulta"); break;
/*Mato Grosso*/           case 51: url = new URL("https://cte.sefaz.mt.gov.br/ctews/services/CteConsulta"); break;
/*Goiás*/                 case 52: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
/*Distrito Federal*/      case 53: url = new URL("https://cte.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx"); break;
                          default: url = new URL("https://cte.svrs.rs.gov.br/ws/cteconsulta/CteConsulta.asmx"); break;
            }
            //URL url = new URL("https://www1.cte.fazenda.gov.br/CTeDistribuicaoDFe/CTeDistribuicaoDFe.asmx");
            String arquivoCacertsGeradoParaCadaEstado = "CTeCacertsProd";
            
            /** 
             * Informações do Certificado Digital. 
             */  
            System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
            
            KeyStore ks;
            ks = CertificadoFactoryA1.instanceOfA1("./certificado.pfx", senhaDoCertificadoDoCliente);
            
            String alias = "";
            Enumeration<String> aliasesEnum = ks.aliases();
            while(aliasesEnum.hasMoreElements()){
                alias = (String) aliasesEnum.nextElement();
                if(ks.isKeyEntry(alias)) break;
            }
            
            X509Certificate certificate = (X509Certificate) ks.getCertificate(alias);
            PrivateKey privateKey = (PrivateKey) ks.getKey(alias, senhaDoCertificadoDoCliente.toCharArray());
            SocketFactoryDinamicoA1 socketFactoryDinamico = new SocketFactoryDinamicoA1(certificate, privateKey);
            socketFactoryDinamico.setFileCacerts(arquivoCacertsGeradoParaCadaEstado);
            
            Protocol protocol = new Protocol("https", socketFactoryDinamico, SSL_PORT);
            Protocol.registerProtocol("https", protocol);
            /** 
             * Xml de Consulta. 
             */  
//            StringBuilder xml = new StringBuilder();  
//            xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>")  
//                .append("<consSitCTe versao=\"3.10\" xmlns=\"http://www.portalfiscal.inf.br/cte\">")  
//                .append("<tpAmb>1</tpAmb>")  
//                .append("<xServ>CONSULTAR</xServ>")  
//                .append("<chCTe>")  
//                .append(chaveDaCTe)  
//                .append("</chCTe>")  
//                .append("</consSitCTe>");              
            String xml = "";
                    xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                    + "<consSitCTe versao=\"1.04\" xmlns=\"http://www.portalfiscal.inf.br/cte\">"
                    + "<tpAmb>1</tpAmb>"
                    + "<xServ>CONSULTAR</xServ>"
                    + "<chCTe>"
                    + chaveDaCTe
                    + "</chCTe>"
                    + "</consSitCTe>";            
            OMElement ome = AXIOMUtil.stringToOM(xml);
            Iterator<?> children = ome.getChildrenWithLocalName("CTe");  
            while (children.hasNext()) {  
                OMElement omElement = (OMElement) children.next();  
                if (omElement != null && "CTe".equals(omElement.getLocalName())) {  
                    omElement.addAttribute("xmlns", "http://www.portalfiscal.inf.br/cte", null);  
                }  
            }
            
            CteConsultaStub.CteDadosMsg dadosMsg = new CteConsultaStub.CteDadosMsg();  
            dadosMsg.setExtraElement(ome);  
            CteConsultaStub.CteCabecMsg cteCabecMsg = new CteConsultaStub.CteCabecMsg();  
            /** 
             * Código do Estado. 
             */  
            cteCabecMsg.setCUF(codigoDoEstado);  

            /** 
             * Versao do XML 
             */  
            cteCabecMsg.setVersaoDados("1.04");  
            CteConsultaStub.CteCabecMsgE cteCabecMsgE = new CteConsultaStub.CteCabecMsgE();
            cteCabecMsgE.setCteCabecMsg(cteCabecMsg);  
  
            CteConsultaStub stub = new CteConsultaStub(url.toString());  
            CteConsultaStub.CteConsultaCTResult result = stub.cteConsultaCT(dadosMsg, cteCabecMsgE);  
  
            System.out.println(result.getExtraElement().toString());  
            
            return result.getExtraElement().toString();
            
        } catch (MalformedURLException | XMLStreamException | RemoteException e) {  
            System.err.println(e);
        }  catch (Exception ex){
            
        }
        return "";
    }  
  
}

FormConsultaCte.java

package br.com.Projeto.Principal;

import br.com.Projeto.CTe.GerarCacerts;
import br.com.Projeto.CTe.CTeConsultaCTeA1;
import br.com.Projeto.CTe.PegaUF;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import javax.swing.JOptionPane;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class FormConsultaCTe extends javax.swing.JFrame {        
    public FormConsultaCTe() {
        initComponents();        
    }   
    
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;
        
        LbChave = new javax.swing.JLabel();
        JtChave = new javax.swing.JTextField();
        JtSenha = new javax.swing.JPasswordField();
        LbSenha = new javax.swing.JLabel();
        LbResultado = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        JtResultado = new javax.swing.JTextArea();
        BtConsultar = new javax.swing.JButton();
        
        JtSenha.enable(false);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new java.awt.GridBagLayout());

        LbChave.setText("Chave para consulta da CT-e:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        getContentPane().add(LbChave, gridBagConstraints);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 390;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        getContentPane().add(JtChave, gridBagConstraints);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 390;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        getContentPane().add(JtSenha, gridBagConstraints);

        LbSenha.setText("Senha do Certificado A1:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        getContentPane().add(LbSenha, gridBagConstraints);

        LbResultado.setText("Resultado da consulta:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        getContentPane().add(LbResultado, gridBagConstraints);

        JtResultado.setEditable(false);
        JtResultado.setColumns(20);
        JtResultado.setLineWrap(true);
        JtResultado.setRows(5);
        JtResultado.setWrapStyleWord(true);
        jScrollPane1.setViewportView(JtResultado);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.ipadx = 373;
        gridBagConstraints.ipady = 111;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        getContentPane().add(jScrollPane1, gridBagConstraints);

        BtConsultar.setText("Consultar CT-e");
        BtConsultar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BtConsultarActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 291;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        getContentPane().add(BtConsultar, gridBagConstraints);

        setSize(new java.awt.Dimension(422, 338));
        setLocationRelativeTo(null);
    }// </editor-fold>//GEN-END:initComponents    
    private void BtConsultarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BtConsultarActionPerformed                                
        if("".equals(JtChave.getText())){
            JOptionPane.showMessageDialog(rootPane, "Por favor! Preencha a chave da CT-e");
            JtChave.requestFocus();
            return;
        }                
        PegaUF.setChave(JtChave.getText());
        JtSenha.setText("XXXXXXXX");                
//        if("".equals(new String(JtSenha.getPassword()))){
//            JOptionPane.showMessageDialog(rootPane, "Por favor! Preencha a senha do certificado A1");
//            JtSenha.requestFocus();
//            return;
//        }
        try
        {            
            JtResultado.setText("");
            String url = null;
            switch(Integer.parseInt(JtChave.getText().substring(0, 2))){
/*Rondônia*/              case 11: url = "cte.fazenda.gov.br"; break;
/*Acre*/                  case 12: url = "cte.fazenda.gov.br"; break;
/*Amazonas*/              case 13: url = "cte.fazenda.gov.br"; break;
/*Roraima*/               case 14: url = "cte.fazenda.gov.br"; break;
/*Pará*/                  case 15: url = "cte.fazenda.gov.br"; break;
/*Amapá*/                 case 16: url = "cte.fazenda.gov.br"; break;
/*Tocantins*/             case 17: url = "cte.fazenda.gov.br"; break;
/*Maranhão*/              case 21: url = "cte.fazenda.gov.br"; break;
/*Piauí*/                 case 22: url = "cte.fazenda.gov.br"; break;
/*Ceará*/                 case 23: url = "cte.fazenda.gov.br"; break;                
/*Rio Grande do Norte*/   case 24: url = "cte.fazenda.gov.br"; break;
/*Paraíba*/               case 25: url = "cte.fazenda.gov.br"; break;
/*Pernambuco*/            case 26: url = "cte.fazenda.gov.br"; break;
/*Alagoas*/               case 27: url = "cte.fazenda.gov.br"; break;
/*Alagoas*/               case 28: url = "cte.fazenda.gov.br"; break;
/*Bahia*/                 case 29: url = "cte.fazenda.gov.br"; break;
/*Minas Gerais*/          case 31: url = "cte.fazenda.gov.br"; break;
/*Espírito Santo*/        case 32: url = "cte.fazenda.gov.br"; break;
/*Rio de Janeiro*/        case 33: url = "cte.fazenda.gov.br"; break;
/*São Paulo*/             case 35: url = "cte.fazenda.gov.br"; break;
/*Paraná*/                case 41: url = "cte.fazenda.gov.br"; break;
/*Santa Catarina*/        case 42: url = "cte.fazenda.gov.br"; break;
/*Rio Grande do Sul*/     case 43: url = "cte.fazenda.gov.br"; break;
/*Mato Grosso do Sul*/    case 50: url = "cte.fazenda.gov.br"; break;
/*Mato Grosso*/           case 51: url = "cte.fazenda.gov.br"; break;
/*Goiás*/                 case 52: url = "cte.fazenda.gov.br"; break;
/*Distrito Federal*/      case 53: url = "cte.fazenda.gov.br"; break;
                          default: url = "cte.fazenda.gov.br"; break;
            }
            GerarCacerts.GeraArquivo(url, "CTeCacertsProd");
            //GerarCacerts.GeraArquivo("cte.fazenda.gov.br", "CTeCacertsProd");
            String retorno = CTeConsultaCTeA1.Consulta(JtChave.getText(), new String(JtSenha.getPassword()));                        
            if(!"".equals(retorno)){
                JtResultado.setText("Retorno em formato xml: "+retorno);
                Document document = documentFactory(retorno);  
                String Motivo = document.getElementsByTagName("xMotivo").item(0).getFirstChild().getNodeValue();
                JtResultado.setText(JtResultado.getText()+"\n\n"+Motivo);
                
                JOptionPane.showMessageDialog(rootPane, Motivo,"Informações!",JOptionPane.INFORMATION_MESSAGE);
            } else {
                JOptionPane.showMessageDialog(rootPane, "Não foi possível obter retorno da SEFAZ!","Problemas!",JOptionPane.ERROR_MESSAGE);
            }
        }catch (IOException | SAXException | ParserConfigurationException e){
            JOptionPane.showMessageDialog(rootPane, e,"Erro!",JOptionPane.ERROR_MESSAGE);
        }
    }//GEN-LAST:event_BtConsultarActionPerformed    

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(FormConsultaCTe.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        //</editor-fold>
        
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new FormConsultaCTe().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton BtConsultar;
    public javax.swing.JTextField JtChave;
    private javax.swing.JTextArea JtResultado;
    private javax.swing.JPasswordField JtSenha;
    private javax.swing.JLabel LbChave;
    private javax.swing.JLabel LbResultado;
    private javax.swing.JLabel LbSenha;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration//GEN-END:variables

    private static Document documentFactory(String xml) throws SAXException,  
            IOException, ParserConfigurationException {  
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
        factory.setNamespaceAware(true);  
        Document document = factory.newDocumentBuilder().parse(  
                new ByteArrayInputStream(xml.getBytes()));  
        return document;  
    }
}

Talvez o erro seja simples e bobo, porém não tenho conhecimento suficiente sobre o assunto para poder identificar.

Repara nessa parte aqui, provavelmente é o domínio de onde você está tentando gerar o Cacerts que está errado, já tentou ver se ele esta atualizado?

Esse endereço está funcionando perfeitamente. Assim como o nfe.fazenda.gov.br