I've read recently that Oracle supports network encryption between Oracle clients and servers. I assume that if servers support this, clients can accomplish connections in the full Oracle client drivers that are used from various Oracle data access provider libraries.
However, my application is using the more independent Managed ODP.NET driver from Oracle, which does not require the full Oracle client install. Does anyone know if this driver supports network encryption?
This page seems to offer advice, but doesn't specifically call out the Managed ODP.NET drivers.
And this unanswered thread seems to indicate that it isn't supported. If that's the case, will the connection fail entirely? Before I go trial and error my way through this issue, I was hoping to find some definite documentation.
Oracle have just (Oct 2015) released ODAC 12c Release 4.
Release announcement
This includes the latest Oracle Managed DataAccess Provider, which now supports Network Data Encryption (NDE).
(The Odp.Net Managed lib has not yet been pushed to the NuGet package repository as of 14 Oct 2015).The Odp.Net Managed Provider Release 4 Package is now available on the NuGet package repository as of 15 Oct 2015.
Note that as this NDE functionality is part of ASO, you need to have an Oracle Enterprise Licence to use it in production.Connecting to an Oracle DB using NDE
Configuring NDE
There is a request on Oracle's feedback site (behind a login wall) to add support for encryption to the pure .NET driver:
https://apex.oracle.com/pls/apex/f?p=18357:39:115851408950026
When the sever is configured to require encryption, .NET clients using Oracle's pure managed driver will be unable to connect with an enigmatic:
Somewhere deep in the guts of the Oracle network driver, there’s a function
ReadwithCrypto
that fails with a ORA-12537: Network Session: End of file errorThe stack trace:
Having the server configured to optional encryption is the (horrible, horrible) workaround.
cue sad music
Found the answer in the driver's readme document. (located at
\odp.net\doc\readme.htm
in the downloaded archive.