Certificado para BISHUB API Server
Criando um Keystore para SSL/TLS no Java
Este guia fornece instruções detalhadas para criar um **Keystore Java (`.jks`)** contendo um **certificado autoassinado** e uma **chave privada**, necessário para ativar **SSL/TLS** em um servidor TCP/IP Java.
1. Gerando o Keystore
Para criar o keystore, abra um **terminal** ou **Prompt de Comando** e execute o seguinte comando:
keytool -genkeypair -alias bisHubCert -keyalg RSA -keysize 2048 -keystore bishubkeystore.jks -storepass 123456 -validity 365
Explicação dos parâmetros
- -genkeypair → Gera um **par de chaves** (pública e privada).
- -alias bisHubCert → Nome do certificado dentro do keystore.
- -keyalg RSA -keysize 2048 → Algoritmo RSA de **2048 bits**.
- -keystore bishubkeystore.jks → Nome do arquivo do **keystore**.
- -storepass 123456 → **Senha do keystore** (altere conforme necessário).
- -validity 7300 → O certificado **terá validade de 20 anos (7300 dias)**.
2. Preenchendo os Dados do Certificado
Após executar o comando, o terminal solicitará informações sobre o certificado. Preencha os campos conforme necessário:
Digite seu nome e sobrenome: ["BISHUB"] Digite o nome da sua unidade organizacional: ["BIS"] Digite o nome da sua organização: ["BIS"] Digite o nome da sua cidade ou localidade: [ENTER] Digite o nome do seu estado ou província: [ENTER] Digite o código do país: [ENTER]
Após preencher as informações, o sistema perguntará:
Está correto? [sim/não]:
Digite sim e pressione Enter.
3. Verificando o Keystore
Para garantir que o keystore foi criado corretamente, use o comando:
keytool -list -keystore bishubkeystore.jks -storepass 123456
Se o keystore foi criado corretamente, a saída será semelhante a:
Keystore type: JKS Keystore provider: SUN Seu keystore contém 1 entrada bisHubCert, 10 de Fev de 2045, PrivateKeyEntry, Certificado autoassinado SHA256withRSA, 2048 bits
4. Utilizando o Keystore no Servidor SSL/TLS
Agora que o keystore foi gerado, ele pode ser utilizado para ativar **SSL/TLS** em um servidor Java, permitindo conexões seguras.
Exemplo de uso no Java:
KeyStore keyStore = KeyStore.getInstance("JKS");
try (FileInputStream keyStoreStream = new FileInputStream("bishubkeystore.jks")) {
keyStore.load(keyStoreStream, "123456".toCharArray());
}
KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
keyManagerFactory.init(keyStore, "123456".toCharArray());
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
SSLServerSocketFactory sslServerSocketFactory = sslContext.getServerSocketFactory();
SSLServerSocket serverSocket = (SSLServerSocket) sslServerSocketFactory.createServerSocket(5001);