当前位置: 首页 > 知识库问答 >
问题:

无法通过TCPS将我的应用程序连接到Amazon RDS oracle db

陈宏胜
2023-03-14

大家好,我正在尝试从我的. net应用程序连接Oracle Db,但我得到错误消息:

网络传输:SSL解析钱包位置失败

我的windows证书存储中有所有必需的证书。我的连接字符串是:

 <appSettings>
 <add key="IMConnectionString" value="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=abc-prod-rds-01.cvi0vpnztsiw.eu-central-1.rds.amazonaws.com)(PORT=2484))(CONNECT_DATA=(SID=abcprod)) (SECURITY = (SSL_SERVER_CERT_DN = C=US,ST=Washington,L=Seattle,O=Amazon Web Services,OU=Amazon RDS,CN=Amazon RDS Root 2019 CA))); Password = *****;  User ID = ****"/>

我在app.config的配置是:

 <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>
  <dataSources>
    <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=2484))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
  </dataSources>
</version>
 </oracle.manageddataaccess.client>

我打db电话是这样的:

 var queryExecutor = _executor.GetQueryExecutor(item.QueryDatabase);
 DataSet ds = queryExecutor.ExecuteQuery(item);

请让我知道我错过了什么?

在 ODP.NET 跟踪中,我也得到了以下跟踪:

甲骨文。managed data access . client . Oracle exception(0x 80004005):网络传输:解析wallet位置时SSL失败-

在 RDS 服务器端,我可以看到以下错误:

2021 年 6 月 22 日 17:58:23(地址=(协议=TCPS)(主机=46.19.253.127)(端口=5526)) * 542 TNS-00542:SSL 握手失败 TNS-12560:TNS:协议适配器错误

共有3个答案

姬和豫
2023-03-14

只是为了将来参考回答我自己的问题…我使用基于文件的钱包而不是MCS,它在我的app.config文件中添加以下设置后工作:

 <settings>
    <setting name="WALLET_LOCATION" value="(SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = C:\app\client\ssl_wallet)))" />
    <setting name="TraceLevel" value="7" />
    <setting name="TraceOption" value="1" />
    <setting name="TraceFileLocation" value="D:\trace" />
    <setting name="SSL_CLIENT_AUTHENTICATION" value="FALSE" />
    <setting name="SSL_VERSION" value="1.0" />
    <setting name="SSL_CIPHER_SUITES" value="(SSL_RSA_WITH_AES_256_CBC_SHA)" />
    <setting name="SSL_SERVER_DN_MATCH" value="NO" />
    <setting name="TNS_ADMIN" value="C:\app\client\client_1\ssl_wallet"/>
司空祯
2023-03-14

有时RDS的证书更新似乎被错过了(AWS的服务器端)。这是由多个用户报告的,有一些猜测为什么会这样,可能是一些数据库操作在同一时间或网络问题。特别是在长时间运行的情况下,这似乎会发生。您能否尝试重新启动RDS服务,因为这将强制证书续订?还要确保客户端安装了正确的加密方法/库并且可用。这是Java envs中常见的错误,不太确定这在C#/上有多关键。net也有一些版本不支持1.2,这也是AWS RDS所不需要的。

还要确保TLS 1.2真的工作正常,就像在这个线程中一样

蒋嘉颖
2023-03-14

您可以尝试将TLS连接调整到1.2(或者如果1.2失败,则降级到1.1等)

<code>System.Net.ServicePointManager。安全协议=安全协议类型.Tls12

 类似资料:
  • 我在Android Studio做了一个登录和注册系统。每当我启动应用程序并登录或向数据库添加新用户时,都会出现以下错误: runtimeException:执行doInBackground()时发生错误 在这里输入代码02-04 16:51:58.079 123 63-12496/com.example.app e/AndroidRuntime:致命异常:AsyncTask#1 java.lan

  • 我正在尝试使用js文件中的以下代码从我的机器上的meteor应用程序连接远程数据库: 将引发以下错误: 错误:EACCES,在object.future.wait处取消链接++os.linux.x86_64+web.browser+web.cordova/meteor-tool-os.linux.x86_64/tools/files.js:1124:24)在object.files.rm_recu

  • 在下面您会发现错误 2019-03-15 10:38:53.865警告1708--[main]O.H.E.J.E.I.JDBCEnvironmentInitiator:HHH000342:无法获取查询元数据的连接:服务器时区值“Paris,Madrid”无法识别或表示多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更指定的时区值。2

  • 问题内容: 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以通过使用本地计算机上的curl来访问Kibana和Elastic search 我得到以下回应 var hashRoute =’/ app / kibana’; var defaultRoute =’/ app / kibana’; var hash = window.location.hash;

  • 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以使用 我得到以下回应 var hashRoute='/app/kibana'; var defaultRoute='/app/kibana'; var hash=window.location.hash; if(hash.length){window.location=hashRoute hash;}其他{wi

  • 我试图将我的spring应用程序连接到debezium/kafka:0.10,但没有成功。最初应用程序使用Wurstmeister/kafka图像,但现在我引入了debezium的一个新功能,并且希望两者只使用一个kafka图像。我不能把应用程序连接到debezium kafka或debezium连接到wurstmeister kafka。有人知道这两个图像是否都可以使用一个图像?欢迎任何想法:)