CITSmart
Executar a Instalação

Instalando Certificado SSL

a instalação de um certificado ssl é obrigatória para funcionamento da ferramenta citsmart existem duas formas de configurar um certificado ssl em nossos cenários gerando e utilizando auto assinado utilizando um certificado válido com uma cadeia de certificação válida gerando e utilizando um certificado auto assinado pelo java a forma como você acessa o citsmart altera a maneira de geração do certificado ssl existem duas possibilidades de acessar o url do sistema através de endereçamento ip no formato https //endereco ip através de dns no formato https //citsmart exemplo com https //citsmart exemplo com a geração do certificado em ambos casos é ligeiramente diferente abaixo o procedimento válido par ambos os casos criando um certificado para uma entrada de dns abaixo o comando para se gerar um certificado ssl para uma entrada de dns chamada citsmart example com lembre se de alterar os seguintes parâmetros abaixo key name um nome para chave/arquivo exemplo citsmartv1 citsmart example com altere para entrada de dns que você criou para sua aplicação validity 365 tempo de validade da chave em dias dependendo do requisito de segurança interno de sua instituição, defina esse valor após atingido o limite de tempo, o certificado irá se expirar e será necessário gerar outro definia o tempo que achar melhor apropriado no exemplo o certificado vale por 1 ano 365 dias) password uma senha para o certificado exemplo password123456 /opt/jdk/bin/keytool genkey alias key name keyalg rsa keystore /opt/wildfly/standalone/configuration/key name keystore ext san=dns\ citsmart example com validity 365 storepass password quando o comando for executado, será realizada uma série de perguntas, no qual poderá ser respondidas ou não (o preenchimento é opcional) caso não queira preencher as informações, digite \[enter] para todas, com exceção da última que precisará ser respondido `yes /opt/jdk/bin/keytool genkey alias citsmartv1 keyalg rsa keystore /opt/wildfly/standalone/configuration/citsmartv1 keystore ext san=dns\ citsmart example com validity 365 storepass password123456 saída \[root\@server /tmp]# /opt/jdk/bin/keytool genkey alias citsmartv1 keyalg rsa keystore /opt/wildfly/standalone/configuration/citsmartv1 keystore ext san=dns\ citsmart example com validity 365 storepass password123456 what is your first and last name? \[unknown] what is the name of your organizational unit? \[unknown] what is the name of your organization? \[unknown] what is the name of your city or locality? \[unknown] what is the name of your state or province? \[unknown] what is the two letter country code for this unit? \[unknown] is cn=unknown, ou=unknown, o=unknown, l=unknown, st=unknown, c=unknown correct? \[no] yes enter key password for \<grpv1> (return if same as keystore password) re enter new password warning the jks keystore uses a proprietary format it is recommended to migrate to pkcs12 which is an industry standard format using "keytool importkeystore srckeystore /opt/wildfly/standalone/configuration/citsmartv1 keystore destkeystore /opt/wildfly/standalone/configuration/citsmartv1 keystore deststoretype pkcs12" \[root\@server /tmp]# criando um certificado para um endereço ip abaixo o comando para se gerar um certificado ssl para um acesso feito diretamente por ip, por exemplo 192 168 0 40 lembre se de alterar os seguintes parâmetros abaixo key name um nome para chave/arquivo exemplo citsmartv1 192 168 0 40 altere para o endereço ip que está respondendo o citsmart validity 365 tempo de validade da chave em dias dependendo do requisito de segurança interno de sua instituição, defina esse valor após atingido o limite de tempo, o certificado irá se expirar e será necessário gerar outro definia o tempo que achar melhor apropriado no exemplo o certificado vale por 1 ano 365 dias) password uma senha para o certificado exemplo password123456 /opt/jdk/bin/keytool genkey alias key name keyalg rsa keystore /opt/wildfly/standalone/configuration/key name keystore ext san=ip 192 168 0 40 validity 365 storepass password quando o comando for executado, será realizada uma série de perguntas, no qual poderá ser respondidas ou não (o preenchimento é opcional) caso não queira preencher as informações, digite \[enter] para todas, com exceção da última que precisará ser respondido `yes \[root\@server /tmp]# /opt/jdk/bin/keytool genkey alias d keyalg rsa keystore /opt/wildfly/standalone/configuration/citsmartv1 keystore ext san=ip 192 168 0 40 validity 365 storepass password123456 what is your first and last name? \[unknown] what is the name of your organizational unit? \[unknown] what is the name of your organization? \[unknown] what is the name of your city or locality? \[unknown] what is the name of your state or province? \[unknown] what is the two letter country code for this unit? \[unknown] is cn=unknown, ou=unknown, o=unknown, l=unknown, st=unknown, c=unknown correct? \[no] yes enter key password for \<grpv1> (return if same as keystore password) re enter new password warning the jks keystore uses a proprietary format it is recommended to migrate to pkcs12 which is an industry standard format using "keytool importkeystore srckeystore /opt/wildfly/standalone/configuration/citsmartv1 keystore destkeystore /opt/wildfly/standalone/configuration/citsmartv1 keystore deststoretype pkcs12" \[root\@server /tmp]# gerando o arquivo cer e importando para o cacerts o próximo passo é a geração do arquivo de certificado cer para gerar o arquivo, execute o comando abaixo substituindo os valores (como nome do keystore e tempo) de acordo com keystore gerado nos comandos anteriores no momento que executar o comando, será solicitada a senha gerada nos passos anteriores /opt/jdk/bin/keytool export alias citsmartv1 keystore /opt/wildfly/standalone/configuration/citsmartv1 keystore validity 365 file /opt/wildfly/standalone/configuration/citsmartv1 cer saída \[root\@server /tmp]# /opt/jdk/bin/keytool export alias citsmartv1 keystore /opt/wildfly/standalone/configuration/citsmartv1 keystore validity 365 file /opt/wildfly/standalone/configuration/citsmartv1 cer enter keystore password certificate stored in file \</opt/wildfly/standalone/configuration/citsmartv1 cer> warning the jks keystore uses a proprietary format it is recommended to migrate to pkcs12 which is an industry standard format using "keytool importkeystore srckeystore /opt/wildfly/standalone/configuration/citsmartv1 keystore destkeystore /opt/wildfly/standalone/configuration/citsmartv1 keystore deststoretype pkcs12" \[root\@server /tmp]# agora é necessário importar o arquivo cer para o cacerts do java execute o comando abaixo para realizar a importação no momento que executar o comando, será solicitada a senha do cacerts (a senha padrão do aplicativo java caso não tenha alterado é changeit ) altere os nome dos arquivos de acordo com o que que fora gerado anteriormente no final do comando responda \[yes] para prosseguir /opt/jdk/bin/keytool keystore /opt/jdk/jre/lib/security/cacerts importcert alias "citsmartv1" file /opt/wildfly/standalone/configuration/citsmartv1 cer saída \[root\@server /tmp]# /opt/jdk/bin/keytool keystore /opt/jdk/jre/lib/security/cacerts importcert alias "citsmartv1" file /opt/wildfly/standalone/configuration/citsmartv1 cer enter keystore password owner cn=unknown, ou=unknown, o=unknown, l=unknown, st=unknown, c=unknown issuer cn=unknown, ou=unknown, o=unknown, l=unknown, st=unknown, c=unknown serial number 73bf74b5 valid from thu nov 14 14 17 45 utc 2019 until fri nov 13 14 17 45 utc 2020 certificate fingerprints md5 8e 55 89 17 76\ f7 3d 20 97\ c0 66\ ed 3a 55\ c6\ ba sha1 f2 4d\ dc 3f\ de 6a\ f1 60 39 32\ bc\ b6 45 50\ b4\ be 2c\ d7 24 38 sha256 eb\ a8 05 79 9c\ cf 2c 4b\ a1\ c1 23 97\ b8 5e\ cc 97 13\ e3\ d9 3e 45 35\ a5 19 1a 4d 2a 09 80 6e 5d 2a signature algorithm name sha256withrsa subject public key algorithm 2048 bit rsa key version 3 extensions \#1 objectid 2 5 29 17 criticality=false subjectalternativename \[ dnsname citsmart example com ] \#2 objectid 2 5 29 14 criticality=false subjectkeyidentifier \[ keyidentifier \[ 0000 e0 70 2e cd c2 e7 02 2b 2a f9 b5 1a fa de cc 5b p + \[ 0010 40 bb f0 c7 @ ] ] trust this certificate? \[no] yes certificate was added to keystore \[root\@server /tmp]# para finalizar, qualquer que tenha sido a forma escolhida, mude o proprietário do keystore para o wildfly, substituindo o exemplo abaixo pelo nome do seu certificado caso tenha alterado chown wildfly wildfly /opt/wildfly/standalone/configuration/citsmartv1 gerando o keystore com certificado válido caso você tenha um certificado válido, com uma cadeia de certificação válida, é necessário importar o certificado para o java para isso, utilize o comando abaixo lembre se de alterar os seguintes parâmetros certificado p12 o nome do seu certificado p12 que você deve fazer upload para o servidor via scp alias cert um apelido (nome) para o certificado certificado jks o nome do arquivo de keystore que será gerado /opt/jdk/bin/keytool importkeystore srckeystore certificado p12 srcstoretype pkcs12 alias "alias cert" destkeystore certificado jks deststoretype jks uma vez gerado o arquivo do keystore, é necessário importá lo para o cacerts (mesmo procedimento de importação utilizado na geração do certificado auto assinado) configurando o keystore no wildfly acesse o wildfly no modo cli e dê os comandos abaixo substituindo os valores pelos nomes dos arquivos criados anteriormente /subsystem=undertow/server=default server/https listener=https read attribute(name=security realm) /subsystem=elytron/key store=citsmartkeystore\ add(path="citsmartv1 keystore",relative to=jboss server config dir,credential reference={clear text="password123456"},type=jks) /subsystem=elytron/key manager=citsmartkeymanager\ add(key store=citsmartkeystore,credential reference={clear text="password123456"}) /subsystem=elytron/server ssl context=citsmartsslcontext\ add(key manager=citsmartkeymanager,protocols=\["tlsv1 2"]) /core service=management/security realm=applicationrealm/server identity=ssl\ remove /core service=management/security realm=applicationrealm/server identity=ssl\ add(keystore path="citsmartv1 keystore", keystore password credential reference={clear text="password123456"}, keystore relative to="jboss server config dir",alias="citsmartv1") dê um reload, e saia do cli \[standalone\@localhost 9990 /] reload \[standalone\@localhost 9990 /] quit