10.10. Uso de 2-maneiras para a interface de Gerenciamento e do CLI

Neste tópico as seguintes convenções são usadas:

HOST1
O hostname dos servidor JBoss. Por exemplo: jboss.redhat.com
HOST2
Um nome apropriado ao cliente. Por exemplo: myclient. Perceba que isto não é necessariamente um hostname atual.
CA_HOST1
O DN (distinguished name - nome distinguido) para uso do certificado HOST1. Por exemplo: cn=jboss,dc=redhat,dc=com.
CA_HOST2
O DN para uso do certificado HOST2. Por exemplo: cn=myclient,dc=redhat,dc=com.

Procedimento 10.4. 

  1. Gere os stores:
    keytool -genkeypair -alias HOST1_alias -keyalg RSA -keysize 1024 -validity 365 -keystore host1.keystore.jks -dname "CA_HOST1" -keypass secret -storepass secret
    keytool -genkeypair -alias HOST2_alias -keyalg RSA -keysize 1024 -validity 365 -keystore host2.keystore.jks -dname "CA_HOST2" -keypass secret -storepass secret
  2. Exporte os certificados:
    keytool -exportcert  -keystore HOST1.keystore.jks -alias HOST1_alias -keypass secret -storepass secret -file HOST1.cer
    
    keytool -exportcert  -keystore HOST2.keystore.jks -alias HOST2_alias -keypass secret -storepass secret -file HOST2.cer
    
  3. Importe os certificados aos trust store opostos:
    keytool -importcert -keystore HOST1.truststore.jks -storepass secret -alias HOST2_alias -trustcacerts -file HOST2.cer
    
    keytool -importcert -keystore HOST2.truststore.jks -storepass secret -alias HOST1_alias -trustcacerts -file HOST1.cer
    
  4. Defina o CertificateRealm na configuração para a sua instalação (host.xml ou standalone.xml) e aponte a interface a isto:
    Isto pode ser realizado pela edição manual do arquivo de configuração (não recomendado) ou pelo uso dos seguintes comandos:
    /core-service=management/security-realm=CertificateRealm:add()
    /core-service=management/security-realm=CertificateRealm:add/server-identity=ssl:add(keystore-path=/path/to/HOST1.keystore.jks,keystore-password=secret, alias=HOST1_alias)
    /core-service=management/security-realm=CertificateRealm/authentication=truststore:add(keystore-path=/path/to/HOST1.truststore.jks,keystore-password=secret)
  5. Edite o JBOSS_HOME/bin/jboss-cli.xml e adicione a configuração SSL (usando os valore apropriados às variáveis):
    <ssl>
      <alias>$HOST2alias</alias>
      <key-store>/path/to/HOST2.keystore.jks</key-store>
      <key-store-password>secret</key-store-password>
      <trust-store>/path/to/HOST2.truststore.jks</trust-store>
      <trust-store-password>secret</trust-store-password>
      <modify-trust-store>true</modify-trust-store>
    </ssl>