You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add TDS 8.0 support for SQL Server Strict Encryption (#1643)
* Add TDS 8.0 support for SQL Server Strict Encryption
Closes#1476
This adds support for SQL Server TDS 8.0 protocol which enables strict encryption mode.
The implementation includes:
- New 'encrypt' option supporting OFF, ON, and STRICT modes
- TDS 8.0 protocol support with mandatory encryption and certificate validation
- Backward compatibility with existing encryption behavior
- Comprehensive test coverage for all encryption modes
Some portions of this content were created with the assistance of Claude Code.
Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
* Update docker-compose.yml to enable 2025-latest version usage
Workaround for microsoft/mssql-docker#951
Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
---------
Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
Copy file name to clipboardExpand all lines: vertx-mssql-client/src/main/asciidoc/index.adoc
+51-3Lines changed: 51 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,6 +127,7 @@ Currently, the client supports the following parameter keys:
127
127
* `user`
128
128
* `password`
129
129
* `database`
130
+
* `encrypt` - encryption mode: `strict` (TDS 8.0), `true` (TDS 7.x with SSL), `false` (no encryption)
130
131
131
132
Additional parameters will be added to the {@link io.vertx.sqlclient.SqlConnectOptions#getProperties properties}.
132
133
@@ -323,9 +324,56 @@ You can set a handler on a connection to catch them and do something useful with
323
324
324
325
== Using SSL/TLS
325
326
326
-
=== Encryption level negotiation
327
+
The client supports both TDS 7.x encryption and TDS 8.0 strict encryption.
327
328
328
-
When a connection is established, the client and the server negotiate the encryption level.
329
+
=== Encryption Modes
330
+
331
+
The client supports three {@link io.vertx.mssqlclient.EncryptionMode encryption modes}:
332
+
333
+
* `OFF` - No encryption (the default)
334
+
* `ON` - Optional encryption (equivalent to `ssl=true`)
335
+
* `STRICT` - Strict TDS 8.0 encryption
336
+
337
+
=== TDS 8.0 and Strict Encryption
338
+
339
+
Starting with SQL Server 2022, Microsoft introduced TDS 8.0, a new version of the Tabular Data Stream that requires encryption for the entire connection from the start.
340
+
341
+
To connect to a SQL Server 2022+ instance with strict encryption:
0 commit comments