NetSuite: Internal network error, connection closed. Session aborted error resolution
When connecting to NetSuite, SSL cipher suite(s) are passed in the connection string. The cipher suites tell the driver and database what cipher to use when encrypting the data sent over the network. The following is an example of a NetSuite JDBC URL that passes a cipher suite:
JDBC URL:
jdbc:ns://1111111.connect.api.netsuite.com:1708;ServerDataSource=NetSuite.com;Encrypted=1;CipherSuites=TLS_RSA_WITH_AES_128_CBC_SHA;CustomProperties=(AccountID=1111111;RoleID=1109);
In the above example, the TLS_RSA_WITH_AES_128_CBC_SHA cipher was passed in the connection string. For some versions of NetSuite, this cipher sutie may have worked, but lately users have been getting errors when trying to use a cipher suite such as the above.
To resolve this error, a newer, more secure cipher suite should be passed in the connection string / JDBC URL. Below is an example cipher suite that should work along with an example JDBC URL:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
JDBC URL:
jdbc:ns://1111111.connect.api.netsuite.com:1708;ServerDataSource=NetSuite.com;Encrypted=1;CipherSuites=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384;CustomProperties=(AccountID=1111111;RoleID=1109);
Below is a list of current NetSuite cipher suites at the time of this writing. The strongest are listed first. If
trying new cipher suites, it is recommended to use the strongest one possible:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA