.Net web api,SSL + basic auth

oli*_*lif 0 ssl basic-authentication asp.net-web-api

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

截至目前,我已经创建了存储在传感器上的客户端证书,可以通过Request.GetClientCertificate()方法在API中检索证书的信息.当我只是想用基本的身份验证来保护我的Api时,这是否有点过分?也就是说,只需通过https发送数据而不提供证书,通信是否安全?

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

Bad*_*dri 5

基本身份验证是指将HTTP授权标头中的用户名和密码作为纯文本(base64编码但未加密)发送.因此,您需要将HTTPS与基本authn一起使用,以便中间的人不会看到客户端发送的用户名和密码.

说到HTTPS,有一个服务器证书和一个客户端证书.服务器将服务器证书发送到客户端,以便客户端可以确定它是连接到的正确服务器.类似地,客户端可以将客户端证书发送到服务器,以便服务器可以确定可信客户端是否正在与之通信.

客户端证书部分在HTTPS中是可选的.因此,您可以使用基本身份验证而无需使用客户端证书.如果您使用客户端证书,则它已经是凭证,您无需使用基本身份验证,除非您要使用双因素身份验证.TFA是一种矫枉过正 - 这是由你来决定的.