NFe - Conexão usando KeySotore de um SmartCard

Bom dia galera do GUJ
estou com problemas para criar uma conexão para NFe
estou tentando configurar as propriedades através de um KeyStore pegando de um smart card
se alguem puder dar um auxilio
gostaria que dessem uma olhada e vejam como configurar as propriedades do System
e o que eu possa estar fazendo de errado

    [code]KeyStore ks =null;
    try {
        Provider p = new sun.security.pkcs11.SunPKCS11(CONFIGNAME);
        Security.addProvider(p);
        ks = KeyStore.getInstance("pkcs11");
        ks.load(null, PIN);
        KeyStore.PrivateKeyEntry pkEntry = null;
      
    } [/code]

    [code]KeyStore key= ks;

    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", ""); //Aqui vem o arquivo do certificado do seu cliente   
    System.setProperty("javax.net.ssl.keyStorePassword", "xxxxxx"); 
   // System.setProperty("javax.net.ssl.keyStore",key.getCertificate("Empresa Ltda").toString()); 

    System.setProperty("javax.net.ssl.trustStoreType", "JKS");        
    System.setProperty("javax.net.ssl.trustStore", " ");//[/code]


    [code]String url = "http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico";
    // Criando e configurando o serviço
    try {
        Call call = (Call) new Service().createCall();
        // Configurando o endereço    
        call.setTargetEndpointAddress(url);
        // Marcando o método a ser chamado. 
        call.setOperationName("NfeStatusServico");
        call.setReturnType(XMLType.XSD_STRING);
        //PARAMETROS DA FUNÃ?Ã?O      
       Object[] param = new Object[]{soap,nfeDadosMsg};
       //  envelope.addTextNode(nfeCabecMsg);
     
        System.out.println(call.invoke(param));[/code]

tá, mas que erro vc está visualizando?

retorno que eu recebo é
404 - not found

mais gostaria de saber as configurações para passar
no system.setProperty();

pois vejo todos os exemplos pegando arquivo pfx
mais gostaria de pegar as informações direto do smart card

para “pegar” as informações do smartcard use o tipo pkcs#11 (para A3) Não se esqueça de todo o trabalho que se tem para acessar um dispositivo externo em java…rs Dá uma procurada por certificação digital tipo A3 po pkcs#11 no forum que tu acha tudo.

eu consigo pegar as informações eu gero o KeyStore
meu grande problema eh utilizar nas configurações do de segurança
ali em cima como eu havia pedido

System.setProperty("javax.net.ssl.keyStore", "");

aqui onde vem o arquivo pfx por exemplo, se tem como eu pegar as informações direto do smart card

e os certificados validos

System.setProperty("javax.net.ssl.trustStore", " ");

essas informações que eu estou com dúvidas de como pega-los no smart card
ou se eu preciso obrigatoriamente gerar o arquivo pfx

Cara vc não extrai nada do pfx…

System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");

só isso… Ae vc coloca o alias e o password do keystore.

opa que tem o truststore a ver com o smartcard?

bom o truestore não deve apontar os certificados confiáveis??
não sei se é obrigatório seu uso