Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
  String privateKeyFile = ... // path para seu arquivo .jks
  String keyStorePassword = ... // senha do seu arquivo .jks (caso tenha definido uma senha)
  String keyPassword = ... // senha da sua chave privada armazenada dentro do .jks (caso tenha definido uma outra senha exclusiva para sua chave privada)
  String alias = ... // apelido do seu par de chaves como foi salvo dentro do .jks

  KeyStore ks = KeyStore.getInstance("jks");
  ks.load(new FileInputStream(privateKeyFile), keyStorePassword.toCharArray());
  Key key = ks.getKey(alias, keyPassword .toCharArray());
  RSAPrivateKey rsaPrivateKey = (RSAPrivateKey) key; 
  ...
  connection.loginByCertificate(entity, rsaPrivateKey); // autenticação por chave privada na API do OpenBus SDK Java

Como trocar o CN de um certificado que está em um chaveiro JKS?

O utilitário keytool do pacote da Oracle JDK não possui funcionalidade para trocar ou regerar o certificado de um par de chaves público-privada. É uma dificuldade comum que acaba motivando gerar um novo par de chaves desnecessariamente.

É possível realizar essa tarefa com o uso do OpenSSL exportando o JKS para um PKCS#12. A partir do arquivo PKCS#12 será mais fácil de trabalhar.

  1. Após exportar o chaveiro JKS para um arquivo PKCS#12, o primeiro passo é extrair a chave privada:

    Code Block
    openssl pkcs12 -in <arquivo com extensão p12> -nocerts -out example-privatekey.pem
  2. Gerar um novo certificado com outro CN a partir da chave privada exportada tendo a oportunidade de atualizar o CN (Common Name) e outras informações do certificado:

    Code Block
    openssl req -new -x509 -key example-privatekey.pem -out example-updated-public.crt
  3. Gerar um novo arquivo PKCS#12 contendo a chave privada original e o novo certificado associado ao CN correto:

    Code Block
    openssl pkcs12 -export -out example-updated-keypair.p12 -inkey example-privatekey.pem -in example-updated-public.crt

Por fim basta importar de volta o novo arquivo example-updated-keypair.p12 para o JKS e usar o alias de sua preferência.

Usando SSL

Uma das novas funcionalidades do OPENBUS 2.1.x é o suporte a comunicações CORBA sobre SSL. Para ativar esse suporte é necessário realizar alguns ajustes e configurações e, naturalmente, algumas dúvidas podem surgir. A seguir, listamos algumas dúvidas mais comuns.

...