Histórico da Página
Para habilitar a criptografia SSL entre o Totvs e o banco de dados Oracle é necessário configurar os seguintes passos:
1- Configurar o banco de dados para trafegar informações via protocolo SSL, este passo é feito através do service, do listener e da wallet.
2- Utilizar um certificado digital assinado por uma autoridade certificadora (CA).
3- Estar o tempo todo com a Wallet aberta, em estado OPEN.
4- Configurar o client na máquina do cliente com os mesmos arquivos e certificados da wallet do servidor.
Habilitando a criptografia SSL.
- Listener
- Service
- Profile - Authentication
- Profile - Other Params
- Profile - Integrity
- Profile - Encryption
- Profile - SSL
*Colocar no campo Wallet Directory: O diretório da wallet com o certificado.
WALLET
Criar uma pasta e colocar o certificado dentro dela.
Indicar nos comandos de criação de KEY esta mesma pasta
Arquivos de Network
LISTENER.ORA
# listener.ora Network Configuration
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\Users\engenhariasoftware\Downloads\ORACLE)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\Users\engenhariasoftware\Downloads\ORACLE\bin\oraclr19.dll")
)
)
SSL_CLIENT_AUTHENTICATION = FALSE
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCPS)(HOST = BH-ENG-VM05)(PORT = 1521))
)
ADR_BASE_LISTENER = C:\Users\engenhariasoftware\Downloads\ORACLE\log
SQLNET.ORA
# sqlnet.ora Network Configuration File: C:\Users\engenhariasoftware\Downloads\ORACLE\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT= (SHA256)
SQLNET.AUTHENTICATION_SERVICES= (BEQ, TCPS, NTS)
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER= (SHA256)
SSL_VERSION = 0
NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME)
SSL_CLIENT_AUTHENTICATION = FALSE
SQLNET.CRYPTO_SEED = 'Th!s$eed2'
SQLNET.ENCRYPTION_TYPES_CLIENT= (AES256)
SQLNET.ENCRYPTION_TYPES_SERVER= (AES256)
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = C:\Users\engenhariasoftware\Downloads\ORACLE\admin\EXEMPLO1\Wallet)
)
)
SQLNET.AUTHENTICATION_KERBEROS5_SERVICE = exemplo1
ADR_BASE = C:\Users\engenhariasoftware\Downloads\ORACLE\log
TNSNAMES.ORA
# tnsnames.ora Network Configuration File: C:\Users\engenhariasoftware\Downloads\ORACLE\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
# SECURITY = (SSL_SERVER_CERT_DN = "cn=totvs,cn=totvs,c=totvs,o=totvs")
EXEMPLO1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCPS)(HOST = BH-ENG-VM05)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = EXEMPLO1)
)
)
LISTENER_EXEMPLO1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = BH-ENG-VM05)(PORT = 1521))
WALLET
Deletar o ewallet.p12 e recriar via comando.
- ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'C:
...
- \
...
- Wallet' IDENTIFIED BY TOTVS12345;
- ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY TOTVS12345; (comando para abrir a WALLET, ela deve estar aberta o tempo todo para que a criptografia funcione).
Com o comando: select * from v$encryption_wallet;
Abrir e configurar a Wallet no pc cliente:
É possivel checar o status da wallet.
CONFIGURAÇÕES DO LADO DO CLIENT.
Baixar e instalar o client do Oracle de mesma versão e adicionar o Oracle Net Manager:
Configurar o Oracle Net Manager na aba SSL, com o diretório do wallet e o radio button "Cliente".
- Na pasta wallet deve estar o mesmo certificado que na wallet do servidor.
Referências:
Comandos úteis:
sqlplus /nolog
conn sys/TOTVS@EXEMPLO1 as sysdba
...