作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
firebase 通知代码
WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
tRequest.Method = "post";
tRequest.ContentType = "application/json";
var data = new{collapse_key = "unassigned", to = deviceToken,data = new
{body = message,title = title,sound = "default"}
};
传递给移动设备通知的消息
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(data);
Byte[] byteArray = Encoding.UTF8.GetBytes(json);
tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationId));
tRequest.Headers.Add(string.Format("Sender: id={0}", senderId));
tRequest.ContentLength = byteArray.Length;
代码下方出现错误
using (Stream dataStream = tRequest.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
using (WebResponse tResponse = tRequest.GetResponse())
{
using (Stream dataStreamResponse = tResponse.GetResponseStream())
{
//code 1
}
}
}
最佳答案
标题中的异常说明您正在连接到一个使用 TLS 加密的端点,并且您不信任该端点公开的证书。这意味着它没有使用您在 CA(证书颁发机构)商店中拥有的证书进行签名。就像一个自签名证书。
如果证书是自签名的,您可以将其添加到您的 CA Store。如果没有,您可以尝试使用浏览器导航端点,并查找端点提供的证书副本,以手动信任它。 (请注意,如果端点已经受到威胁,您将手动信任其证书。)
您还可以通过添加始终返回有效的自定义证书验证处理程序来避免此检查! (真的)。 但是,请注意这样做会使您面临中间人攻击,因为您将失去检查端点真实性的能力。
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
关于c# - 异常 : The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519935/
我是一名优秀的程序员,十分优秀!