NFe - 2 tokens (A3) na mesma máquina, o que fazer?

Tenho no meu sistemas duas empresas.

Elas precisam emitir notas simultaneamente.

Tenho dois tokens com certificados A3 (CertiSign).

Tenho dois arquivos .cfg diferentes para cada token.

Tenho o código para registrar as propriedades dos certificados (do cliente e do SEFAZ).

[code]public static void setPropriedadesCertificado() throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException {
acceptSSL();

    Provider p = new sun.security.pkcs11.SunPKCS11(Global.ARQUIVO_CONFIG_CERTIFICADO);
    Security.addProvider(p);

    KeyStore ks = KeyStore.getInstance(NFe.TIPO_KEYSTORE_A3); // PKCS11
    ks.load(null, Global.SENHA_CERTIFICADO_EMITENTE.toCharArray());

    // para resolver: HelloRequest followed by an unexpected  handshake message
    System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
    //System.setProperty("javax.net.debug", "ssl");

    System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
    System.setProperty("javax.net.ssl.keyStore", "NONE");
    System.setProperty("javax.net.ssl.keyStoreType", NFe.TIPO_KEYSTORE_A3);
    System.setProperty("javax.net.ssl.keyStorePassword", Global.SENHA_CERTIFICADO_EMITENTE);

    System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-eToken");

    // as 3 linhas abaixo sao referentes ao certificado do SEFAZ, nao o do cliente
    System.setProperty("javax.net.ssl.trustStoreType", "JKS");
    System.setProperty("javax.net.ssl.trustStore", Global.ARQUIVO_KEYSTORE_SEFAZ);
    System.setProperty("javax.net.ssl.trustStorePassword", Global.SENHA_KEYSTORE_SEFAZ);
}[/code]Teria que chamar esse método toda vez que for fazer uma operação no servidor? [b]Ex: verificar o status.[/b]

Será que pode deixar os dois tokens conectados simultaneamente?

olá javer,

sim, é necessário “setar” as propriedades.

não há problema em deixar os 2 tokens conectados simultaneamente, apenas as propriedades devem ser alteradas conforme o token.

espero ter ajudado,

att,

Ok, obrigado.

Estou montando uma forma para mudar: o arquivo config do certificado, a senha do certificado e o provider do certificado

De acordo com a empresa selecionada, não sei se vai dar certo mas vou tentar uma coisa aqui.