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

SAP Hana服务层:无法为SSL/TLS安全通道建立信任关系

端木承业
2023-03-14

我试图通过我的代码调用SAP Hana服务层,但我遇到了下面的错误:所以有人能帮我吗?

错误 1st:身份验证异常:根据验证过程,远程证书无效。

错误2:WebExc奇怪:底层连接已关闭:无法为SSL/TLS安全通道建立信任关系。

错误 3rd:HttpRequest异常:发送请求时出错。

关于这个应用程序的更多细节——我已经在。网

还有一件事-我的客户不打算购买该域名

问题是,当我通过邮递员测试登录服务时,它工作正常

URL-https://172.17.100.35:50000/b1s/v1/Login

using (var client = new HttpClient())
{
var credentials = new { UserName = "admin", Password = "", "" };
var json = JsonConvert.SerializeObject(credentials);

var response = client.PostAsync(url),
                    new StringContent(json, Encoding.UTF8, "application/json")).Result;

if (response.IsSuccessStatusCode)
{
dynamic content = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);

// Access variables from the returned JSON object
var appHref = content.links.applications.href;
}
}

共有3个答案

魏风华
2023-03-14

如果您使用的是自签名证书,则必须先接受它们。这可以通过将其添加到windows证书或通过浏览器来完成!如果进行跨域调用,则需要更改b1s.config

vim /usr/sap/SAPBusinessOne/ServiceLayer/conf/b1s.conf

(...)
"CorsEnable": true,
 "CorsAllowedOrigins": "*"}

请注意在生产模式中使用*

马泰
2023-03-14

您需要将这段代码放在postAsync之前

 ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

这避免了证书的验证。

漆雕奇逸
2023-03-14

如果将来的谷歌用户在将请求发送到登录endpoint后收到500个错误响应,请禁用ExpectContinue。

client.DefaultRequestHeaders.ExpectContinue = false;
 类似资料:
  • 当我尝试在https上使用Invoke WebRequest时,我遇到了一些奇怪的错误: "调用-网络请求:基础连接已关闭:无法为SSL/TLS安全通道建立信任关系。" 这是我的密码: 对我有什么建议吗??多谢了。

  • 这个问题在stackoverflow上有很多版本。我已经尝试了那里提出的许多解决方案,但这些都不适合我。 我有一个VB ASP。NET应用程序在Windows Server 2008上的IIS上运行。它称为Web服务。运行Web服务的服务器具有自签名证书。我已将证书导入IIS计算机的信任存储区。我可以在IE中看到证书- 调用webservice时,会引发异常 基础连接已关闭:无法为SSL/TLS安

  • 我正试图通过SSL发出请求。该证书已安装在机器上,可通过浏览器工作。 我正在使用此请求: 使用此代码,我得到以下错误: 基础连接已关闭:无法为SSL/TLS安全通道建立信任关系--- 有什么问题吗?

  • 我加载的证书对“每个人”都有完全的特权。我已经尝试了我在互联网上看到的每一个解决方案,但仍然得到错误。 下面是我创建请求的代码: 获取证书的代码(我也尝试过使用pfx): 第二个编辑:我可以让它在SoapUI中工作,但不能在。NET应用程序中工作,只需从SOAP UI中的文件系统中加载SSL证书即可。

  • System.AggregateException HResult=0x80131500 Message=出现一个或多个错误。source=mscorlib stacktrace:at system.threading.tasks.task.throwifexception(Boolean includeTaskCanceledExceptions)at system.threading.task

  • 问题内容: 我正在使用node.js的WSwebsocket库。目前,我正在运行ws服务器。现在,我想通过使用安全连接(即通过实施wss协议以及库支持TLS连接)来保护此连接。我进行了一些搜索,发现这很容易确保安全:wss和具有自签名证书的wss。 两者都不是很详细,第二个链接上的文章介绍了带有自签名证书的wss。我想知道的是,仅创建自签名证书并部署到我的生产环境是否就足够了?还是我需要像创建HT