Problemas com certificados A1

Galera,

Estou com o seguinte problema:
Tenho uma aplicacao que vai utilizar 2 cetificados A1 ao mesmo tempo para assinar NFe. Estou escolhendo o certificado pelo numero do CNPJ das empresas. Tenho um arquivo properties que amarzena as informacoes dos certifcados:

javax.net.ssl.keyStoreMinas=c:\\certificados\\keystoreminasexportrsa.jks
javax.net.ssl.keyStoreQualy=c:\\certificados\\keystorequalymariasrsa.jks
javax.net.ssl.aliaspfxminas=exportminaspfx;
javax.net.ssl.aliaspfxqualy=qualymariaspfx;

javax.net.ssl.keyStorePassword =123456
javax.net.ssl.trustStoreType = JKS

O codigo abaixo e usado para carregar o A1 que vai ser usado para assinar a NFe:

 // Load the KeyStore and get the signing key and certificate.
            NFELogger.logInfo("(A1) Carregando o Keystore ...", null);
            String trustStoreType = UsuarioA1.getTrustStoreType();
            NFELogger.logInfo("(A1) trustStoreType utilizado " + trustStoreType, null);
            KeyStore ks = KeyStore.getInstance(trustStoreType);
            String senhaKeyStore = UsuarioA1.getSenhaKeyStore();
            String endereco = UsuarioA1.getEnderecoKeyStore();
            NFELogger.logInfo("(A1) Endereco do keystore " + endereco, null);
            ks.load(new FileInputStream(endereco), senhaKeyStore.toCharArray());
            String aliasPfx = UsuarioA1.getAliasPfx();
            NFELogger.logInfo("(A1) Alias PFX " + aliasPfx, null);
            KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry) ks.getEntry(aliasPfx,
                    new KeyStore.PasswordProtection(senhaKeyStore.toCharArray()));

            Enumeration aliasesEnum = ks.aliases();
            PrivateKey privateKey = null;
 
            while(aliasesEnum.hasMoreElements()){
                String alias = (String) aliasesEnum.nextElement();
                NFELogger.logInfo("(A1) Alias " + alias, null);
                if(ks.isKeyEntry(alias)){
                    pkEntry = (KeyStore.PrivateKeyEntry) ks.getEntry(alias, new KeyStore.PasswordProtection(senhaKeyStore.toCharArray()));
                    privateKey = pkEntry.getPrivateKey();
                    break;
                }
            }


            X509Certificate cert = (X509Certificate) pkEntry.getCertificate();
//resto do codigo

Codigo que faz as escolha da empresa:

 public static final void escolherUsuario(String cnpjEmpresa) {
        Properties propertiesToken = new Properties();
        try {
            propertiesToken.load(new FileInputStream(ConstantesNotaFiscal.PATH_TOKEN_PROPERTIES));
            trustStoreType = propertiesToken.getProperty(ConstantesNotaFiscal.TRUST_STORE_TYPE);
            senhaKeyStore = propertiesToken.getProperty(ConstantesNotaFiscal.SENHA_KEYSTORE);
            if("81413874005116".equalsIgnoreCase(cnpjEmpresa)){
                 enderecoKeyStore = propertiesToken.getProperty(ConstantesNotaFiscal.ENDERECO_KEYSTORE_EXPORT);
                 aliasPfx = propertiesToken.getProperty(ConstantesNotaFiscal.ALIAS_PFX_EXPORT);
            }else{
                enderecoKeyStore = propertiesToken.getProperty(ConstantesNotaFiscal.ENDERECO_KEYSTORE_QUALY);
                aliasPfx = propertiesToken.getProperty(ConstantesNotaFiscal.ALIAS_PFX_QUALY);
            }
        } catch (IOException ex) {
            Logger.getLogger(UsuarioA1.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

O que esta ocorrendo entao? Quando passo para a aplicacao a empresa 1 o ciclo de envio da nota funciona beleza, busca o certificado correto, assina corretamente a nota e realiza o envio da mesma. Quando passo para a aplicacao a empresa 2 o ciclo nao funciona beleza. ele esta pegando o certificado da empresa 1, mesmo se eu passar primeiro a nota da empresa 2 o programa esta pegando o certificado da empresa 1. Eu criei um keystore para cada um dos certificados com os devidos .cer e o pfx. Queria saber o que poderia estar ocorrendo. Debugando o meu codigo ele esta buscando corretamento as informacoes do meu arquivo properties. Alguem ja fez alguma aplicacao que usa mais de um certificado para assinar varias notas de varias empresas ao mesmo tempo?

Atenciosamente

vcsmetallica