Inicio Projeto NFE Proprio. (RESOLVIDO)

Boa noite, Atualmente tenho uma aplicação rodando NFE 100% mas utilizando um programa externo “ACBR”, vcs devem conhecer!
Mas acredito que cheguei a uma maturidade de criar meu proprio.
Li O manual do Contribuinte, e li bastantes topicos aqui no forum, e pra iniciar estou tentando Consultar o Status de serviço.
Usei como ponto inicial o Codigo (Ctrl C + Ctrl v) :

[code]public class Status {

public static void main(String[] args) {  
            StringBuffer soapMessage = new StringBuffer();  
            soapMessage.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>")  
                    .append("<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">")  
                    .append("<soap12:Header>")  
                    .append("<nfeCabecMsg xmlns=\"http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2\">")  
                    .append("<versaoDados>1.07</versaoDados>")  
                    .append("<cUF>52</cUF>")  
                    .append("</nfeCabecMsg>")  
                    .append("</soap12:Header>")  
                    .append("<soap12:Body>")  
                    .append("<nfeStatusServicoNF2 xmlns=\"http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2\">")  
                    .append("<nfeDadosMsg xmlns=\"http://www.portalfiscal.inf.br/nfe\">")  
                    .append("<consStatServ versao=\"1.07\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.portalfiscal.inf.br/nfe\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">")  
                    .append("<versao>1.07</versao>")  
                    .append("<tpAmb>2</tpAmb>")  
                    .append("<cUF>52</cUF>")  
                    .append("<xServ>STATUS</xServ>")  
                    .append("</consStatServ>")  
                    .append("</nfeDadosMsg>")  
                    .append("</nfeStatusServicoNF2>")  
                    .append("</soap12:Body>")  
                    .append("</soap12:Envelope>");  

            metodo2(soapMessage.toString(), "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl");  
        }  

         public static void metodo2(String envelope, String urlAddress) {  

            try {  
                MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);  
                SOAPMessage message;  

                try {  

                    System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");  
                    Security.addprovider(new com.sun.net.ssl.internal.ssl.Provider());

                    System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");  
                    System.setProperty("javax.net.ssl.keyStore", "C:\\Certificado.pfx");  
                    System.setProperty("javax.net.ssl.keyStorePassword", "ARSOLUTI");  

                    System.setProperty("javax.net.ssl.trustStoreType", "JKS");  
                    System.setProperty("javax.net.ssl.trustStore", "C:\\Raiz.jks");  


                    MimeHeaders header = new MimeHeaders();  
                    header.addHeader("Content-Type", "application/soap+xml");  

                    message = factory.createMessage(header, new ByteArrayInputStream(envelope.getBytes()));  
                    SOAPConnection con = SOAPConnectionFactory.newInstance().createConnection();  

                    URL url = new URL(urlAddress);  
                    System.out.println("Message enviada \n"+message.toString());  
                    SOAPMessage res = con.call(message, url);  

                    ByteArrayOutputStream in = new ByteArrayOutputStream();  
                    message.writeTo(in);  
                    System.out.println("in :\n"+in.toString());  

                    ByteArrayOutputStream out = new ByteArrayOutputStream();  
                    res.writeTo(out);  
                    System.out.println("out :\n"+desnormalizar(out.toString()));  

                } catch (IOException ex) {  
                    System.out.println(" ERRO: " + ex.getMessage());  
                } finally {  
                }  
            } catch (SOAPException ex) {  
                System.out.println("" + ex.getMessage());  
            }  
        }  


    public static String desnormalizar(String texto) {  
        return texto.replace("<", "<").replace(">", ">").replace("''", "\"").replace(" ", "\r");  
    }  

} [/code]

Minhas duvidas:
1-Utilizo Eclipse e dá erro nesta linha:

Security.addprovider(new com.sun.net.ssl.internal.ssl.Provider());

o erro é este :[quote] Access restriction: The type Provider is not accessible due to restriction on required library C:\Program Files\Java\jre7\lib\jsse.jar[/quote]

2-como faço para obter esse arquivo jks, li muito, mas não cheguei em lugar nenhum, se puder um exemplo facil:

 System.setProperty("javax.net.ssl.trustStore", "C:\\Raiz.jks");

Verifique se este link te ajuda com o primeiro problema: http://www.thiagovespa.com.br/blog/2010/10/01/resolvendo-access-restriction-no-eclipse/

Sobre o arquivo jks eu costumo criar manualmente com o keytool (presente na pasta bin do java), porém recentemente eu vi um codigo que cria ele automaticamente.
Segue o codigo (eu não testei) http://www.javac.com.br/jc/posts/list/34-nfe-geracao-do-arquivo-cacerts-para-todos-os-estados-unico-arquivo.page

[]'s

Muito Obrigado Chefeeeeeeeee! Funcionou 100% , e trabalhar o com JKS Dentro do Codigo é bem melhor que o KeyTool!