Como mudar System.setProperty em tempo de execução

Galera estou com um problema. Estou consumindo os Web Services da NFe de estados diferentes um é o SVRS e o outro é da Bahia. Só que tenho que setar o certificado em tempo de execução de cada Web Service, pois minha aplicação roda em um servidor e encaminha o pedido para o serviço correto.

Para setar e mudar o certificado eu faço:

[code]

if (cUF.equals(“29”) {
System.clearProperty(“javax.net.ssl.trustStoreType”);
System.clearProperty(“javax.net.ssl.trustStore”);
System.clearProperty(“javax.net.ssl.trustStorePassword”);

 System.setProperty("javax.net.ssl.trustStoreType", "JKS");
 System.setProperty("javax.net.ssl.trustStore", certificadobahia);
 System.setProperty("javax.net.ssl.trustStorePassword", passwordbahia);

} else {
System.clearProperty(“javax.net.ssl.trustStoreType”);
System.clearProperty(“javax.net.ssl.trustStore”);
System.clearProperty(“javax.net.ssl.trustStorePassword”);

 System.setProperty("javax.net.ssl.trustStoreType", "JKS");
 System.setProperty("javax.net.ssl.trustStore", certificadorsvirtual);
 System.setProperty("javax.net.ssl.trustStorePassword", passwordrsvirtual);

}[/code]

Ele altera o certificado e senha, já debuguei e realmente mudou. Só que quando vai validar o certificado ele dá erro. Se vier NF-e só para RS Virtual tudo funciona beleza, mas é só mudar para a Bahia que dá pau na validação do certificado.

Alguma dica do que pode está acontecendo e como posso resolver?

Valeu pessoal.