- 3,715,657 Users
- 2,242,821 Discussions
- 7,845,481 Comments
Forum Stats
Discussions
Categories
- 17 Data
- 362.2K Big Data Appliance
- 7 Data Science
- 1.6K Databases
- 467 General Database Discussions
- 3.7K Java and JavaScript in the Database
- 22 Multilingual Engine
- 487 MySQL Community Space
- 3 NoSQL Database
- 7.6K Oracle Database Express Edition (XE)
- 2.8K ORDS, SODA & JSON in the Database
- 416 SQLcl
- 42 SQL Developer Data Modeler
- 184.8K SQL & PL/SQL
- 21K SQL Developer
- 1.9K Development
- 3 Developer Projects
- 32 Programming Languages
- 135.1K Development Tools
- 8 DevOps
- 3K QA/Testing
- 247 Java
- 5 Java Learning Subscription
- 10 Database Connectivity
- 66 Java Community Process
- 1 Java 25
- 9 Java APIs
- 141.1K Java Development Tools
- 6 Java EE (Java Enterprise Edition)
- 153K Java Essentials
- 135 Java 8 Questions
- 86.2K Java Programming
- 270 Java Lambda MOOC
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 10 Java SE
- 13.8K Java Security
- 3 Java User Groups
- 22 JavaScript - Nashorn
- 18 Programs
- 125 LiveLabs
- 30 Workshops
- 9 Software
- 3 Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 3 Deutsche Oracle Community
- 10 Español
- 1.9K Japanese
- 2 Portuguese
ODP.Net using TCPS in IIS
Hi!
I'm using VS.Net 2019 to build a simple single webpage (*.aspx) that connects to my Oracle database using ODP.Net (Oracle.ManagedDataAccess, Version=4.122.18.3) over port 2484 and protocol TCPS.
The database is located in another server, not my dev box, and is ready for TCPS. The certificate is already installed in MCS in my dev box.
The certificate is stored in MCS in these locations:
Local Computer\Trusted Root Certification Authorities = LocalMachine\Root
Local Computer\Personal = LocalMachine\My
Current User\Trusted Root Certification Authorities = CurrentUser\Root
Current User\Personal = CurrentUser\My
My simple web application is connecting fine to the database when I run it from VS.Net 2019 (IISExpress) using these settings:
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<setting name="WALLET_LOCATION" value="(SOURCE = (METHOD = MCS))" />
<setting name="TraceLevel" value="7" />
<setting name="TraceOption" value="1" />
<setting name="TraceFileLocation" value="C:\trace" />
</settings>
</version>
</oracle.manageddataaccess.client>
And connection string is:
<add name="DBConnString" connectionString="USER ID={user};PASSWORD={password};DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST={host ip})(PORT=2484)))(CONNECT_DATA = (SID = {sid})))) " />
But when I deploy the app to my local IIS (dev box is Windows 10 and IIS version is 10.0.17134.1 (WinBuild.160101.0800)) and navigate to the webpage.aspx the connection cannot be established.
The error message is "Network Transport: SSL failure in parsing wallet location".
Where should the certificate be stored for Wallet METHOD=MCS in IIS? Am I missing an ODP.Net setting to make this work?
Best Answer
-
Hi Alex,
This is my trace log. All username, password, and IP were replaced with "*****".
It looks like the Wallet location is correct (MCS).
```
W3WP.EXE_PID_3264_TID_7_DATE_2019_05_02_TIME_09_11_26.trc
2019-05-02 09:11:26.270673 TID:7 (CFG) (ENV) Machine Name : DESKTOP-DV535LI
2019-05-02 09:11:26.287672 TID:7 (CFG) (ENV) User Name : DefaultAppPool
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) OS Version : Microsoft Windows NT 10.0.17134.0
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) 64-bit OS : True
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) 64-bit Process : True
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) .NET Runtime Version : 4.0.30319.42000
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) Application Directory : C:\inetpub\wwwroot\WebSites\ODPTCPSTest
2019-05-02 09:11:26.292671 TID:7 (CFG) (VER) Oracle Data Provider for .NET, Managed Driver Version : 4.122.18.3
2019-05-02 09:11:26.296680 TID:7 (CFG) (VER) Oracle Data Provider for .NET, Managed Driver Informational Version : 4.122.18.3:20190317
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) TraceOption : 1
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) TraceFileLocation : C:\trace
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) TraceLevel : 7
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) WALLET_LOCATION : (SOURCE = (METHOD = MCS))
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) Resolved Trace File Location: C:\trace
2019-05-02 09:11:26.325671 TID:7 (CFG) (SQLNET) FilePath : (null)
2019-05-02 09:11:26.325671 TID:7 (CFG) (TNSNAMES) FilePath : (null)
2019-05-02 09:11:26.325671 TID:7 (PUB) (ENT) OracleConnection.ctor()
2019-05-02 09:11:26.347672 TID:7 (PRI) (ENT) (CP) ConnectionString.GetCS()
2019-05-02 09:11:26.349672 TID:7 (PRI) (ENT) (CP) ConnectionString.ctor()
2019-05-02 09:11:26.368675 TID:7 (PRI) (ENT) (CP) ConnectionString.Parse()
2019-05-02 09:11:26.375672 TID:7 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.376672 TID:7 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (EXT) (CP) ConnectionString.Parse()
2019-05-02 09:11:26.383672 TID:7 (PRI) (EXT) (CP) ConnectionString.ctor()
2019-05-02 09:11:26.383672 TID:7 (PRI) (EXT) (CP) ConnectionString.GetCS()
2019-05-02 09:11:26.397672 TID:7 (PUB) (EXT) OracleConnection.ctor()
2019-05-02 09:11:26.450671 TID:7 (PUB) (ENT) OracleConnection.Open() (conid=11178428) (state=Closed) (sessid=0) (implid=0) (pooling=T) (txnid=n/a)
2019-05-02 09:11:26.460673 TID:7 (PRI) (ENT) (CP) OracleConnectionDispenser..cctor()
2019-05-02 09:11:26.460673 TID:7 (PRI) (EXT) (CP) OracleConnectionDispenser..cctor()
2019-05-02 09:11:26.460673 TID:7 (PRI) (ENT) (CP) OracleConnectionDispenser.Get()
2019-05-02 09:11:26.466672 TID:7 (PRI) (ENT) (CP) PoolManager.ctor()
2019-05-02 09:11:26.488700 TID:7 (PRI) (EXT) (CP) PoolManager.ctor()
2019-05-02 09:11:26.492672 TID:7 (PRI) (ENT) (CP) PoolManager.Initialize() (constr=USER ID=*****;DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=*****)(PORT=2484)))(CONNECT_DATA = (SID = DRDB)))) )
2019-05-02 09:11:26.522675 TID:7 (PRI) (EXT) (CP) PoolManager.Initialize() (pmid=33343808) (constr=USER ID=*****;DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=*****)(PORT=2484)))(CONNECT_DATA = (SID = DRDB)))) )
2019-05-02 09:11:26.529672 TID:7 (PRI) (BUF) (OBP.CTOR) (poolid:26603861) (OracleConnectionDispenser`3.GetPM)
2019-05-02 09:11:26.536686 TID:7 (PRI) (ENT) (CP) OraclePoolManager.Get()
2019-05-02 09:11:26.586676 TID:7 (PRI) (ENT) (CP) PoolManager.Get() (txnid=n/a) (bForceMatch=F)
2019-05-02 09:11:26.587673 TID:7 (PRI) (ENT) (CP) PoolManager.Get() MultiTenant : Searching for a idle connection, retryCountWithoutAffinity: 0
2019-05-02 09:11:26.588672 TID:7 (PRI) (ENT) PoolManager.ProcessCriteriaCtx_NonEnlistedConnection()
2019-05-02 09:11:26.588672 TID:7 (PRI) (EXT) PoolManager.ProcessCriteriaCtx_NonEnlistedConnection()
2019-05-02 09:11:26.595673 TID:7 (PRI) (ENT) (CP) PoolManager.CreateNewPR() (txnid=n/a)
2019-05-02 09:11:26.853676 TID:7 (PRI) (ENT) TimeStamp.GetLocalTZOffset()
2019-05-02 09:11:26.856672 TID:7 (PRI) (EXT) TimeStamp.GetLocalTZOffset()
2019-05-02 09:11:27.040673 TID:7 (PRI) (ENT) PoolManager.CreateNewPR()
2019-05-02 09:11:27.041672 TID:7 (PRI) (ERR) (CP) PoolManager.CreateNewPR() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd, OracleConnection connRefForCriteria, String instanceName, List`1 switchFailedInstNames)
2019-05-02 09:11:27.041672 TID:7 (PRI) (EXT) PoolManager.CreateNewPR()
2019-05-02 09:11:27.041672 TID:7 (PRI) (EXT) (CP) PoolManager.CreateNewPR() (aff=n/a) (inst=) (affmatch=n/a) (pr.service=) (pr.pdb=) (pr.edition=) (sessid=-1:-1) (F;F;F;;N) (pmid=33343808)
2019-05-02 09:11:27.042673 TID:7 (PRI) (EXT) (CP) PoolManager.Get() (txnid=n/a) PM.Get(aff=;force=F) returning (null)
2019-05-02 09:11:27.042673 TID:7 (PRI) (ENT) OraclePoolManager.Get()
2019-05-02 09:11:27.042673 TID:7 (PRI) (ERR) (CP) OraclePoolManager.Get() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
2019-05-02 09:11:27.042673 TID:7 (PRI) (EXT) OraclePoolManager.Get()
2019-05-02 09:11:27.042673 TID:7 (PRI) (EXT) (CP) OraclePoolManager.Get() (txnid=n/a)
2019-05-02 09:11:27.044672 TID:7 (PRI) (ENT) OracleConnectionDispenser.Get()
2019-05-02 09:11:27.045673 TID:7 (PRI) (ERR) (CP) OracleConnectionDispenser.Get() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)
2019-05-02 09:11:27.045673 TID:7 (PRI) (EXT) OracleConnectionDispenser.Get()
2019-05-02 09:11:27.045673 TID:7 (PRI) (EXT) (CP) OracleConnectionDispenser.Get() (txnid=n/a)
2019-05-02 09:11:27.045673 TID:7 (PRI) (ENT) OracleConnection.Open()
2019-05-02 09:11:27.045673 TID:7 (PUB) (ERR) OracleConnection.Open() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)
at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
2019-05-02 09:11:27.045673 TID:7 (PRI) (EXT) OracleConnection.Open()
2019-05-02 09:11:27.045673 TID:7 (PUB) (EXT) OracleConnection.Open() (conid=11178428) (state=Closed) (sessid=0) (implid=0) (pooling=T) (txnid=n/a)
W3WP.EXE_PID_3264_TID_8_DATE_2019_05_02_TIME_09_11_26.trc
2019-05-02 09:11:26.872678 TID:8 (PRI) (ENT) (CP) PoolManager.CreateNewPRThreadFunc()
2019-05-02 09:11:26.875673 TID:8 (PRI) (ENT) (CP) PoolManager.CreateNewPRThreadFunc() (initiated by TID:7)
2019-05-02 09:11:26.896672 TID:8 (PRI) (SVC) (ENT) OracleConnectionImpl.Connect() (oper=open) (aff=n/a) (inst=) (affmatch=n/a) (pr.service=) (pr.pdb=) (pr.edition=) (sessid=-1:-1) (F;F;F;;N) (pmid=33343808)
2019-05-02 09:11:26.899672 TID:8 (PRI) (BUF) (COBP.CTOR) (poolid:1) (parentpoolid:26603861) (OracleConnectionImpl.Connect)
2019-05-02 09:11:26.929672 TID:8 (NET) (ENT) TcpsTransportAdapter.Connect()
2019-05-02 09:11:26.934673 TID:8 (NET) (ENT) TcpTransportAdapter.Connect()
2019-05-02 09:11:26.939672 TID:8 (NET) Trying (host=*****) (port=2484)
2019-05-02 09:11:26.939672 TID:8 (NET) (EXT) TcpTransportAdapter.Connect()
2019-05-02 09:11:26.939672 TID:8 (NET) (EXT) TcpsTransportAdapter.Connect()
2019-05-02 09:11:26.940672 TID:8 (NET) (ENT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.944671 TID:8 (NET) (ENT) TcpTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.947673 TID:8 (NET) Trying (address=*****) (port=2484)
2019-05-02 09:11:26.962672 TID:8 (NET) (ENT) TcpsTransportAdapter.Negotiate()
2019-05-02 09:11:26.962672 TID:8 (NET) (SQLNET) SSLVersion = 0. SSLProtocol = Default, Tls11, Tls12.
2019-05-02 09:11:26.989671 TID:8 (NET) (ENT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.990672 TID:8 (NET) (ENT) TcpTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.990672 TID:8 (NET) Trying (address=*****) (port=2484)
2019-05-02 09:11:26.990672 TID:8 (NET) (ENT) TcpsTransportAdapter.Negotiate()
2019-05-02 09:11:26.990672 TID:8 (NET) (SQLNET) SSLVersion = 0. SSLProtocol = Default, Tls11, Tls12.
2019-05-02 09:11:26.991673 TID:8 (NET) (ENT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.991673 TID:8 (NET) (ENT) TcpTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.991673 TID:8 (NET) (EXT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.995671 TID:8 (PRI) (ENT) OracleConnectionImpl.Connect()
2019-05-02 09:11:26.998672 TID:8 (PRI) (ENT) OracleException.ctor()
2019-05-02 09:11:27.036673 TID:8 (PRI) (ENT) OracleError.ctor()
2019-05-02 09:11:27.036673 TID:8 (PRI) (EXT) OracleError.ctor()
2019-05-02 09:11:27.036673 TID:8 (PRI) (EXT) OracleException.ctor()
2019-05-02 09:11:27.039671 TID:8 (PRI) (SVC) (ERR) OracleConnectionImpl.Connect() (txnid=n/a) OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
2019-05-02 09:11:27.039671 TID:8 (PRI) (EXT) OracleConnectionImpl.Connect()
2019-05-02 09:11:27.039671 TID:8 (PRI) (SVC) (EXT) OracleConnectionImpl.Connect() (oper=open) (aff=n/a) (inst=) (affmatch=n/a) (pr.service=) (pr.pdb=) (pr.edition=) (sessid=-1:-1) (F;F;F;;N) (pmid=33343808)
2019-05-02 09:11:27.040673 TID:8 (PRI) (EXT) (CP) PoolManager.CreateNewPRThreadFunc()
```
Now, the user name register in the trace is the IIS Application Pool that is assigned to the app.
2019-05-02 09:11:26.287672 TID:7 (CFG) (ENV) User Name : DefaultAppPool
But from VS.Net 2019 (where is connecting fine) the user name in the trace log is my user account. After changing the application pool identity to use my account it connects. Although, that shouldn't be the best practice, at least we know is a security issue and not an ODP.Net/Wallet issue.
Answers
-
Take a look at the ODP.NET trace. It should indicate which location it's looking for the wallet.
-
Hi Alex,
This is my trace log. All username, password, and IP were replaced with "*****".
It looks like the Wallet location is correct (MCS).
```
W3WP.EXE_PID_3264_TID_7_DATE_2019_05_02_TIME_09_11_26.trc
2019-05-02 09:11:26.270673 TID:7 (CFG) (ENV) Machine Name : DESKTOP-DV535LI
2019-05-02 09:11:26.287672 TID:7 (CFG) (ENV) User Name : DefaultAppPool
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) OS Version : Microsoft Windows NT 10.0.17134.0
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) 64-bit OS : True
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) 64-bit Process : True
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) .NET Runtime Version : 4.0.30319.42000
2019-05-02 09:11:26.290672 TID:7 (CFG) (ENV) Application Directory : C:\inetpub\wwwroot\WebSites\ODPTCPSTest
2019-05-02 09:11:26.292671 TID:7 (CFG) (VER) Oracle Data Provider for .NET, Managed Driver Version : 4.122.18.3
2019-05-02 09:11:26.296680 TID:7 (CFG) (VER) Oracle Data Provider for .NET, Managed Driver Informational Version : 4.122.18.3:20190317
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) TraceOption : 1
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) TraceFileLocation : C:\trace
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) TraceLevel : 7
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) WALLET_LOCATION : (SOURCE = (METHOD = MCS))
2019-05-02 09:11:26.296680 TID:7 (CFG) (.NET) Resolved Trace File Location: C:\trace
2019-05-02 09:11:26.325671 TID:7 (CFG) (SQLNET) FilePath : (null)
2019-05-02 09:11:26.325671 TID:7 (CFG) (TNSNAMES) FilePath : (null)
2019-05-02 09:11:26.325671 TID:7 (PUB) (ENT) OracleConnection.ctor()
2019-05-02 09:11:26.347672 TID:7 (PRI) (ENT) (CP) ConnectionString.GetCS()
2019-05-02 09:11:26.349672 TID:7 (PRI) (ENT) (CP) ConnectionString.ctor()
2019-05-02 09:11:26.368675 TID:7 (PRI) (ENT) (CP) ConnectionString.Parse()
2019-05-02 09:11:26.375672 TID:7 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.376672 TID:7 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (ENT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (EXT) (CP) ConnectionString.SetProperty()
2019-05-02 09:11:26.382671 TID:7 (PRI) (EXT) (CP) ConnectionString.Parse()
2019-05-02 09:11:26.383672 TID:7 (PRI) (EXT) (CP) ConnectionString.ctor()
2019-05-02 09:11:26.383672 TID:7 (PRI) (EXT) (CP) ConnectionString.GetCS()
2019-05-02 09:11:26.397672 TID:7 (PUB) (EXT) OracleConnection.ctor()
2019-05-02 09:11:26.450671 TID:7 (PUB) (ENT) OracleConnection.Open() (conid=11178428) (state=Closed) (sessid=0) (implid=0) (pooling=T) (txnid=n/a)
2019-05-02 09:11:26.460673 TID:7 (PRI) (ENT) (CP) OracleConnectionDispenser..cctor()
2019-05-02 09:11:26.460673 TID:7 (PRI) (EXT) (CP) OracleConnectionDispenser..cctor()
2019-05-02 09:11:26.460673 TID:7 (PRI) (ENT) (CP) OracleConnectionDispenser.Get()
2019-05-02 09:11:26.466672 TID:7 (PRI) (ENT) (CP) PoolManager.ctor()
2019-05-02 09:11:26.488700 TID:7 (PRI) (EXT) (CP) PoolManager.ctor()
2019-05-02 09:11:26.492672 TID:7 (PRI) (ENT) (CP) PoolManager.Initialize() (constr=USER ID=*****;DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=*****)(PORT=2484)))(CONNECT_DATA = (SID = DRDB)))) )
2019-05-02 09:11:26.522675 TID:7 (PRI) (EXT) (CP) PoolManager.Initialize() (pmid=33343808) (constr=USER ID=*****;DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=*****)(PORT=2484)))(CONNECT_DATA = (SID = DRDB)))) )
2019-05-02 09:11:26.529672 TID:7 (PRI) (BUF) (OBP.CTOR) (poolid:26603861) (OracleConnectionDispenser`3.GetPM)
2019-05-02 09:11:26.536686 TID:7 (PRI) (ENT) (CP) OraclePoolManager.Get()
2019-05-02 09:11:26.586676 TID:7 (PRI) (ENT) (CP) PoolManager.Get() (txnid=n/a) (bForceMatch=F)
2019-05-02 09:11:26.587673 TID:7 (PRI) (ENT) (CP) PoolManager.Get() MultiTenant : Searching for a idle connection, retryCountWithoutAffinity: 0
2019-05-02 09:11:26.588672 TID:7 (PRI) (ENT) PoolManager.ProcessCriteriaCtx_NonEnlistedConnection()
2019-05-02 09:11:26.588672 TID:7 (PRI) (EXT) PoolManager.ProcessCriteriaCtx_NonEnlistedConnection()
2019-05-02 09:11:26.595673 TID:7 (PRI) (ENT) (CP) PoolManager.CreateNewPR() (txnid=n/a)
2019-05-02 09:11:26.853676 TID:7 (PRI) (ENT) TimeStamp.GetLocalTZOffset()
2019-05-02 09:11:26.856672 TID:7 (PRI) (EXT) TimeStamp.GetLocalTZOffset()
2019-05-02 09:11:27.040673 TID:7 (PRI) (ENT) PoolManager.CreateNewPR()
2019-05-02 09:11:27.041672 TID:7 (PRI) (ERR) (CP) PoolManager.CreateNewPR() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd, OracleConnection connRefForCriteria, String instanceName, List`1 switchFailedInstNames)
2019-05-02 09:11:27.041672 TID:7 (PRI) (EXT) PoolManager.CreateNewPR()
2019-05-02 09:11:27.041672 TID:7 (PRI) (EXT) (CP) PoolManager.CreateNewPR() (aff=n/a) (inst=) (affmatch=n/a) (pr.service=) (pr.pdb=) (pr.edition=) (sessid=-1:-1) (F;F;F;;N) (pmid=33343808)
2019-05-02 09:11:27.042673 TID:7 (PRI) (EXT) (CP) PoolManager.Get() (txnid=n/a) PM.Get(aff=;force=F) returning (null)
2019-05-02 09:11:27.042673 TID:7 (PRI) (ENT) OraclePoolManager.Get()
2019-05-02 09:11:27.042673 TID:7 (PRI) (ERR) (CP) OraclePoolManager.Get() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
2019-05-02 09:11:27.042673 TID:7 (PRI) (EXT) OraclePoolManager.Get()
2019-05-02 09:11:27.042673 TID:7 (PRI) (EXT) (CP) OraclePoolManager.Get() (txnid=n/a)
2019-05-02 09:11:27.044672 TID:7 (PRI) (ENT) OracleConnectionDispenser.Get()
2019-05-02 09:11:27.045673 TID:7 (PRI) (ERR) (CP) OracleConnectionDispenser.Get() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)
2019-05-02 09:11:27.045673 TID:7 (PRI) (EXT) OracleConnectionDispenser.Get()
2019-05-02 09:11:27.045673 TID:7 (PRI) (EXT) (CP) OracleConnectionDispenser.Get() (txnid=n/a)
2019-05-02 09:11:27.045673 TID:7 (PRI) (ENT) OracleConnection.Open()
2019-05-02 09:11:27.045673 TID:7 (PUB) (ERR) OracleConnection.Open() (txnid=n/a) Oracle.ManagedDataAccess.Client.OracleException (0x80004005): Network Transport: SSL failure in parsing wallet location ---> OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)
at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
2019-05-02 09:11:27.045673 TID:7 (PRI) (EXT) OracleConnection.Open()
2019-05-02 09:11:27.045673 TID:7 (PUB) (EXT) OracleConnection.Open() (conid=11178428) (state=Closed) (sessid=0) (implid=0) (pooling=T) (txnid=n/a)
W3WP.EXE_PID_3264_TID_8_DATE_2019_05_02_TIME_09_11_26.trc
2019-05-02 09:11:26.872678 TID:8 (PRI) (ENT) (CP) PoolManager.CreateNewPRThreadFunc()
2019-05-02 09:11:26.875673 TID:8 (PRI) (ENT) (CP) PoolManager.CreateNewPRThreadFunc() (initiated by TID:7)
2019-05-02 09:11:26.896672 TID:8 (PRI) (SVC) (ENT) OracleConnectionImpl.Connect() (oper=open) (aff=n/a) (inst=) (affmatch=n/a) (pr.service=) (pr.pdb=) (pr.edition=) (sessid=-1:-1) (F;F;F;;N) (pmid=33343808)
2019-05-02 09:11:26.899672 TID:8 (PRI) (BUF) (COBP.CTOR) (poolid:1) (parentpoolid:26603861) (OracleConnectionImpl.Connect)
2019-05-02 09:11:26.929672 TID:8 (NET) (ENT) TcpsTransportAdapter.Connect()
2019-05-02 09:11:26.934673 TID:8 (NET) (ENT) TcpTransportAdapter.Connect()
2019-05-02 09:11:26.939672 TID:8 (NET) Trying (host=*****) (port=2484)
2019-05-02 09:11:26.939672 TID:8 (NET) (EXT) TcpTransportAdapter.Connect()
2019-05-02 09:11:26.939672 TID:8 (NET) (EXT) TcpsTransportAdapter.Connect()
2019-05-02 09:11:26.940672 TID:8 (NET) (ENT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.944671 TID:8 (NET) (ENT) TcpTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.947673 TID:8 (NET) Trying (address=*****) (port=2484)
2019-05-02 09:11:26.962672 TID:8 (NET) (ENT) TcpsTransportAdapter.Negotiate()
2019-05-02 09:11:26.962672 TID:8 (NET) (SQLNET) SSLVersion = 0. SSLProtocol = Default, Tls11, Tls12.
2019-05-02 09:11:26.989671 TID:8 (NET) (ENT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.990672 TID:8 (NET) (ENT) TcpTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.990672 TID:8 (NET) Trying (address=*****) (port=2484)
2019-05-02 09:11:26.990672 TID:8 (NET) (ENT) TcpsTransportAdapter.Negotiate()
2019-05-02 09:11:26.990672 TID:8 (NET) (SQLNET) SSLVersion = 0. SSLProtocol = Default, Tls11, Tls12.
2019-05-02 09:11:26.991673 TID:8 (NET) (ENT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.991673 TID:8 (NET) (ENT) TcpTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.991673 TID:8 (NET) (EXT) TcpsTransportAdapter.ConnectIterate()
2019-05-02 09:11:26.995671 TID:8 (PRI) (ENT) OracleConnectionImpl.Connect()
2019-05-02 09:11:26.998672 TID:8 (PRI) (ENT) OracleException.ctor()
2019-05-02 09:11:27.036673 TID:8 (PRI) (ENT) OracleError.ctor()
2019-05-02 09:11:27.036673 TID:8 (PRI) (EXT) OracleError.ctor()
2019-05-02 09:11:27.036673 TID:8 (PRI) (EXT) OracleException.ctor()
2019-05-02 09:11:27.039671 TID:8 (PRI) (SVC) (ERR) OracleConnectionImpl.Connect() (txnid=n/a) OracleInternal.Network.NetworkException (0xFFFFE700): Network Transport: SSL failure in parsing wallet location
at OracleInternal.Network.OracleCommunication.DoConnect(String tnsDescriptor)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession, OracleConnection connRefForCriteria, String instanceName)
2019-05-02 09:11:27.039671 TID:8 (PRI) (EXT) OracleConnectionImpl.Connect()
2019-05-02 09:11:27.039671 TID:8 (PRI) (SVC) (EXT) OracleConnectionImpl.Connect() (oper=open) (aff=n/a) (inst=) (affmatch=n/a) (pr.service=) (pr.pdb=) (pr.edition=) (sessid=-1:-1) (F;F;F;;N) (pmid=33343808)
2019-05-02 09:11:27.040673 TID:8 (PRI) (EXT) (CP) PoolManager.CreateNewPRThreadFunc()
```
Now, the user name register in the trace is the IIS Application Pool that is assigned to the app.
2019-05-02 09:11:26.287672 TID:7 (CFG) (ENV) User Name : DefaultAppPool
But from VS.Net 2019 (where is connecting fine) the user name in the trace log is my user account. After changing the application pool identity to use my account it connects. Although, that shouldn't be the best practice, at least we know is a security issue and not an ODP.Net/Wallet issue.
-
Looks like the solution is to tie the wallet to the app pool user identity.