.Net web api、SSL和#x2B;基本授权

.Net web api、SSL和#x2B;基本授权,ssl,asp.net-web-api,basic-authentication,Ssl,Asp.net Web Api,Basic Authentication,我有多组传感器网络正在向.net web api发送数据。不知何故,我需要保护API的一些端点(以便我可以确定发送到API的信息确实来自传感器)。基本身份验证和SSL似乎是一种方法。问题是我在理解SSL部分时遇到困难 现在,我已经创建了一个存储在传感器上的客户端证书,可以通过Request.GetClientCertificate()方法在API中检索证书的信息。当我只想用basic auth保护我的Api时,这是不是太过分了?也就是说,仅通过https发送数据而不提供证书,通信是否安全 我不需

我有多组传感器网络正在向.net web api发送数据。不知何故,我需要保护API的一些端点(以便我可以确定发送到API的信息确实来自传感器)。基本身份验证和SSL似乎是一种方法。问题是我在理解SSL部分时遇到困难

现在,我已经创建了一个存储在传感器上的客户端证书,可以通过Request.GetClientCertificate()方法在API中检索证书的信息。当我只想用basic auth保护我的Api时,这是不是太过分了?也就是说,仅通过https发送数据而不提供证书,通信是否安全


我不需要使用证书进行身份验证(因为这是由基本身份验证完成的)

基本身份验证是将HTTP授权标头中的用户名和密码作为纯文本发送(base64编码但未加密)。因此,您需要使用基本的AutoNTHPS,这样中间的人就看不到客户端发送的用户名和密码。 对于HTTPS,有一个服务器证书和一个客户端证书。服务器将服务器证书发送到客户端,以便客户端可以确定它是连接到的正确服务器。类似地,客户机可以向服务器发送客户机证书,以便服务器可以确定是否有可信的客户机在与它交谈


客户端证书部分在HTTPS中是可选的。因此,您可以使用基本身份验证而不使用客户端证书。如果您使用客户端证书,它已经是一个凭据,您不需要使用基本身份验证,除非您想使用双因素身份验证。TFA是否是一种滥杀-由您来决定。

基本身份验证是将HTTP授权标头中的用户名和密码作为纯文本发送(base64编码但未加密)。因此,您需要使用基本的AutoNTHPS,这样中间的人就看不到客户端发送的用户名和密码。 对于HTTPS,有一个服务器证书和一个客户端证书。服务器将服务器证书发送到客户端,以便客户端可以确定它是连接到的正确服务器。类似地,客户机可以向服务器发送客户机证书,以便服务器可以确定是否有可信的客户机在与它交谈

客户端证书部分在HTTPS中是可选的。因此,您可以使用基本身份验证而不使用客户端证书。如果您使用客户端证书,它已经是一个凭据,您不需要使用基本身份验证,除非您想使用双因素身份验证。TFA是否是一种过度杀伤力——由你来决定