3

我正在尝试使用托管 ODP.NET 提供程序通过 SSL 连接到客户端的 Oracle 数据库。客户端提供了我在服务器上导入的自签名证书。为了测试连接,我创建了一个控制台应用程序,它只是打开连接然后关闭它。这成功了。但是,当在同一台服务器上尝试来自 ASP.NET 的相同简单连接时,我总是会收到此错误:

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

这是连接字符串:

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL = TCPS)(HOST = xxx.xx.xx.xxx)(PORT = 3484))(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = TEST.CLIENT.COM)(SID = TEST))); User Id = userid; Password = pa55word;

在配置文件中,我指向 SQLNET 设置的目录:

<oracle.manageddataaccess.client>
  <version number="*">
    <settings>
      <setting name="TNS_ADMIN" value="C:\Oracle\tnsfiles" />
    </settings>
  </version>
</oracle.manageddataaccess.client>

最后,来自该目录中 sqlnet.ora 的这些设置:

SQLNET.AUTHENTICATION_SERVICES=(BEQ,TCPS)
ENCRYPTION_WALLET_LOCATION = (SOURCE=(METHOD=MCS))
WALLET_LOCATION= (SOURCE=(METHOD=MCS))
SSL_CLIENT_AUTHENTICATION = FALSE
SSL_VERSION = 1.2

控制台应用程序的连接成功,但来自 ASP.NET 的连接因钱包错误而失败,是否有任何原因?他们使用完全相同的设置。我尝试了很多不同的东西,但我欢迎任何建议。

4

0 回答 0