API Java
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
OpenSessionCertAuth.java

Exemplo de abertura de sessão com autenticação mútua TLS por certificado.

Veja Nota sobre os exemplos.
package doxy.examples;
import java.nio.file.Files;
import java.nio.file.Paths;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class OpenSessionCertAuth {
public static void main(String[] args) {
String ip = "127.0.0.1";
String user = "certuser";
String pwd = "12345678";
// Caminho para a chave privada do cliente (formato PEM).
String privKeyPath = "client_key.pem";
// Senha que protege a chave privada. Passe uma string vazia se não houver.
String privKeyPwd = "";
// Caminho para o certificado do cliente (PEM ou DER) — par de privKeyPath.
String privKeyCertPath = "client_cert.pem";
Dinamo api = new Dinamo();
try {
byte[] baPrivKey = Files.readAllBytes(Paths.get(privKeyPath));
byte[] baPrivKeyCert = Files.readAllBytes(Paths.get(privKeyCertPath));
byte[] baHSMCert = Dinamo.getHSMTLSCert(ip, TacNDJavaLib.DEFAULT_PORT, TacNDJavaLib.CERT_OUT_PEM);
api.openSessionCert(ip, user, pwd,
baPrivKey, privKeyPwd, baPrivKeyCert, baHSMCert,
TacNDJavaLib.DEFAULT_PORT,
TacNDJavaLib.ENCRYPTED_CONN);
System.out.println("Session opened with mutual TLS authentication.");
System.out.println("Firmware: " + api.getFirmwareVersion());
} catch (TacException e) {
e.printStackTrace();
} catch (Exception e) {
System.err.println("Failed to read key/cert files: " + e.getMessage());
} finally {
try { api.closeSession(); } catch (TacException ignore) {}
}
}
}