Criptografia RSA - modulus e exponent

Tenho que criptografar a senha e enviar para validação usando o seguinte código:

			String senha = "gdae123";

			byte[] modulusBytes = Base64.decode("0Jlux+JHnHcj7w7+7Lo8dggyIxzr8Udh9zN11O9gxv65b0dvAiSCwieB7VTfAbHvD9V61q0ur60BX9FFZksAZU9zSDbYWu2cmRboiExsOrbMy8UguXdsZNIQEQJCqoe80oLupc8Xcje0OFg+WFvvOEucH4QujO288+19P0VTMQ0=");
			byte[] exponentBytes = Base64.decode("AQAB");
			BigInteger modulus = new BigInteger(1, modulusBytes );                
			BigInteger exponent = new BigInteger(1, exponentBytes);
			RSAPublicKeySpec rsaPubKey = new RSAPublicKeySpec(modulus, exponent);
			KeyFactory fact = KeyFactory.getInstance("RSA");
			PublicKey pubKey = fact.generatePublic(rsaPubKey);

            WsAutenticacaoSoapProxy auth = new WsAutenticacaoSoapProxy();

            String senhaCriptografada = RSAJEncrypt.encodeBASE64(RSAJEncrypt.encrypt(senha.getBytes(), pubKey));         
            
            System.out.println(senhaCriptografada);

O problema é que ele está dando senha inválida, ou seja, a criptografia está incorreta.
Não sei se o problema está na conversão do modulus e exponent, alguém já passou por isso ou tem idéia?

Alguém please!

A chave privada que será usada na autenticação realmente corresponde a essa chave pública que você postou?

Na realidade eu não tenho a chave privada, o processo é o seguinte:

  • Obtenho a chave pública
  • Criptografo a senha
  • Monto o xml novamente com a senha criptografada

O WebService que fornece a chave pública foi feito em .net e eu testei e está ok. O problema é ao fazer isso em java que sempre dá senha inválida. Estou desconfiado que o problema está na conversão de biginteger e bytes, mas não tenho idéia de como isso possa ser resolvido.