Estou usando Intelbras HTTP API For DefenseIA_EN V2.0, e sua documentação em PDF
Fiz o login como usuário local, funcionando corretamente.
Agora tenho que fazer o login como domínio.
Mas de acordo com a documentação tem que ser com RSA
In the case of a domain user, the signature algorithm is different. signature
= RSA (password, platform public key). The platform public key is the same publickey returned in the first login.
Tentei de algumas formas. Mas para mim o erro está de como gerar o RSA.
Está assim:
private void loginProducao(final LoginDTO dto, final KeyPair keyPair, final Map<String, String> secondLoginParams) {
try {
final Cipher encryptCipher = Cipher.getInstance("RSA");
encryptCipher.init(Cipher.ENCRYPT_MODE, keyPair.getPrivate());
final byte[] senha = dto.getSenha().getBytes(UTF_8);
final String encodedMessage = getEncoder().encodeToString(encryptCipher.doFinal(senha));
log.info("logar - encodedMessage: " + encodedMessage);
secondLoginParams.put(SIGNATURE2, encodedMessage);
} catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException e) {
log.error(e.getMessage(), e);
}
}
O que pode estar errado ?