【发布时间】:2019-06-12 07:57:04
【问题描述】:
我正在尝试使用 Openedge 对 API 端点进行 POST。 我已经安装了我请求的地方的 ssl 证书,但是 https 请求失败,告诉我找不到那个地方的 ssl 证书(在我的 /usr/dlc/certs 中)。
"_errors": [
{
"_errorMsg": "ERROR condition: Secure Socket Layer (SSL) failure. error code -54: unable to get local issuer certificate: for 85cf5865.0 in /usr/dlc/certs (9318) (7211)",
"_errorNum": 9318
}
]
所以,我采取了不安全的请求,例如 curl 使用 --insecure 或 wget 使用“no-check-certificate”进行处理
我在 OpenEdge 11.6 上使用 OpenEdge.Net 库
creds = new Credentials('https://xxxx.com', 'usersname', 'password').
oPayload = NEW JsonObject().
oRequestBody = new String('CustomerReference=xxx&NoOfParcelsToAdd=2').
oRequest = RequestBuilder:Post('https://xxxxx.com/endpoint', oRequestBody)// Add credentials to the request
:UsingBasicAuthentication(creds)
:ContentType('application/x-www-form-urlencoded')
:AcceptJson() :Request.
oResponse = ClientBuilder:Build():Client:Execute(oRequest).
我想知道,对于这个 OpenEdge.Net 库,我可以放置一个标签以跳过对证书的检查吗?
【问题讨论】:
-
所以再试一次,正确安装。你问错问题了。你不想让它变得不安全:你想让它安全地工作。
-
不,我不明白。解决方案是正确安装它,并停止寻找不安全的解决方法。你不想要这个。你想要一个正确的解决方案。如果您不希望它安全,请不要使用 SSL。
-
请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Exchange 网络上发帖,您已在 CC BY-SA 3.0 license 下授予 Stack Exchange 分发该内容的不可撤销的权利(即无论您未来的选择如何)。根据 Stack Exchange 政策,帖子的非破坏版本是分发的版本。因此,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请参阅:How does deleting work?
-
请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Overflow 上发帖,您已根据CC BY-SA 3.0 license 授予 SO 分发该内容的不可撤销的权利。根据 SO 政策,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请在How does deleting work?了解更多信息
标签: http ssl openedge insecure-connection