Я пытаюсь подключиться к клиентской базе данных Oracle через SSL с помощью управляемого поставщика ODP.NET. Клиент предоставил самоподписанный сертификат, который я импортировал на сервер. Чтобы проверить соединение, я создал консольное приложение, которое просто открывает соединение, а затем закрывает его. Это успешно работает. Однако при попытке выполнить одно и то же простое подключение из 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 это терпит неудачу при ошибке кошелька? Они используют точно такие же настройки. Я пробовал много разных вещей, но я приветствую любые предложения.