Secure Oracle Connections with SQL*Net Encryption & Checksums

Published 20. September 2022

Updated October 2025


Introduction

KeepTool’s Oracle tools (starting from version 15) support advanced security features like SQL*Net encryption and data integrity checksumming. These features help protect database traffic and ensure tamper detection.

In this article, we’ll show:

  1. How to enable SQL*Net encryption and checksumming on both server and client

  2. How KeepTool (and Hora) supports these features — even with its direct TCP/IP mode

  3. How to monitor which sessions are encrypted and which aren’t

Let’s dive in.


Enabling SQL*Net Encryption on the Database Server

On the server side, make adjustments to the sqlnet.ora file:

  SQLNET.ENCRYPTION_SERVER=REQUIRED
  SQLNET.ENCRYPTION_TYPES_SERVER = (AES256,DES)
  • SQLNET.ENCRYPTION_SERVER accepts values such as ACCEPTED, REJECTED, REQUESTED, or REQUIRED.

    • ACCEPTED allows both encrypted and unencrypted traffic (the default).

    • REQUIRED forces all connections to be encrypted.

  • SQLNET.ENCRYPTION_TYPES_SERVER lists allowed algorithms (e.g. AES256, DES).
    If omitted, all algorithms are permitted by default.

You can find Oracle’s official list of valid encryption methods in their documentation.


Enabling SQL*Net Encryption on the Client

On your client or workstation, you mirror the settings in its own sqlnet.ora:

  SQLNET.ENCRYPTION_CLIENT=REQUIRED
  SQLNET.ENCRYPTION_TYPES_CLIENT = (AES256)
  • SQLNET.ENCRYPTION_CLIENT follows the same value options as on the server.

  • The encryption negotiation between client and server determines if traffic is encrypted, unencrypted, or rejected.

Oracle provides a negotiation matrix showing allowable combinations of server/client encryption settings.


Using Encryption with Direct TCP/IP Connections

KeepTool supports direct TCP/IP connections (i.e., bypassing the Oracle client) by parsing connection string syntax. For example, connect strings like:

  • <hostname>:<port>/<service_name>

  • <hostname>:<port>:<SID>

trigger a direct TCP/IP mode instead of a traditional SQL*Net mode.

Since direct TCP/IP doesn’t use sqlnet.ora, encryption can’t be set in the usual files. Instead, KeepTool provides configuration in the Direct TCP/IP settings pane.
You’ll find a combo box labeled “Encryption” (highlighted in green). Default: “Accepted”, but you can switch to “Required” to enforce encryption. (The “Requested” option is currently disabled/greyed out.)

Direct TCP/IP settings for encryption

Direct TCP/IP settings for encryption

Important:

  • To allow encryption, set it to Accepted

  • To force encryption, use Required


Monitoring Network Encryption in Hora

Hora adds dedicated support so you can check which sessions use encryption:

  • Open Sessions > Network client tab

  • It displays a grid of adapter modules loaded by the session—if an encryption adapter is loaded, that connection is encrypted (SQLNET.ENCRYPTION).

  • Below the grid, it shows additional client info (e.g. OCI version, character set)

Viewing Network Encryption Details for a DB session in Hora

Viewing Network Encryption Details for a DB session in Hora

On the regular Sessions overview grid, a new column “Encryption” appears under Client machine.
Encrypt-enabled sessions are highlighted (e.g. in green) so you can immediately see which connections are secured.

Network Encryption Information in Hora's Session Monitor

Network Encryption Information in Hora’s Session Monitor

This visibility makes it straightforward to audit your environment’s security compliance.


Data Integrity Checksums (Crypto Checks)

There is another data security feature for data integrity. It can be configured very similar to the SQL*Net encryption using sqlnet.ora parameters:

In addition to encryption, you can also enable checksumming to protect against data tampering. Configuration is similarly controlled via sqlnet.ora:

On Server:

  SQLNET.CRYPTO_CHECKSUM_SERVER 
  SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

On Client:

  SQLNET.CRYPTO_CHECKSUM_CLIENT 
  SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

These accept the same negotiation values as encryption settings.
Supported checksum algorithms (Oracle 12c+) include MD5, SHA1, SHA256, SHA384, SHA512.
If no algorithm is specified, SHA256 is used by default.

In direct TCP/IP mode, KeepTool also provides a “Crypto checksum” combo box, paralleling SQL*Net settings.
The Sessions grid also displays a “Checksum” column (highlighted, e.g., yellow) to show which connections have checksum enabled.


Conclusion

  • You can combine SQL*Net encryption and checksumming even when using direct TCP/IP connections.

  • Hora shows you the state of both features per session so you can monitor which connections are encrypted and which are not.

  • This gives you real-time visibility into your compliance with security policies and helps you spot unencrypted or unverified traffic easily.


➡️ Try KeepTool for free

KeepTool's Oracle tools are designed specifically for developers, DBAs, and support teams.
Based on over 25 years of experience, we continuously optimize our software to make your database analysis and documentation faster, more efficient, and clearer.