【问题标题】:Coap Server Unauthorized Access C#Coap 服务器未经授权的访问 C#
【发布时间】:2020-09-22 18:01:53
【问题描述】:

我正在尝试弄清楚 CoAP 服务器如何处理身份验证。 DTLS 似乎是唯一的选择。但是,我找不到任何明确的.NET 示例。我还看到了有关服务器端 cookie 的提及,但仅此而已,没有更多信息。

https://github.com/chkr1011/CoAPnet 似乎是一个不错的库。他们也有一个客户端示例,但我找不到它的服务器示例。 Projest 似乎也有 CoAP 服务器,但是我在源代码中找不到它。

如果 url 已知,任何客户端都可以向服务器发送请求吗? DTLS 是要走的路吗? C# 中是否有任何 DTLS 的服务器/客户端示例?

【问题讨论】:

    标签: c# coap


    【解决方案1】:

    如果 java 服务器也有帮助,请查看 eclipse/californium。我们在“californium.eclipse.org”运行了一个sondbox,如果你想“连接”一个客户端,你可以使用“openssl”PSK演示凭证“Client_identity”和“secretPSK”。

    如果知道 url,任何客户端都可以向服务器发送请求吗?

    这取决于协议变体。没有加密(普通 coap),是的。然后一些项目在请求中使用“令牌”来验证请求(参见 ThingsBoard)。使用加密(DTLS、coaps),您需要有效的凭据,例如PSK(如上)、x.509 证书或原始公钥证书。还有一些设置,其中只有服务器使用 x.509 进行身份验证,然后客户端使用已经加密的通信来使用其他机制进行身份验证(例如,用户名/密码,非常类似于模型,主要与 https 一起使用)。

    最痛苦的通常是找到可以按预期/想要的方式使用的实现。也许有些项目可以帮助您调整实施。

    DTLS 是否可行?

    在我看来,是的。 OSCORE(有效载荷加密)的替代方案目前正在开发中,我们将拭目以待,是否会改变游戏规则。

    C# 中是否有任何 DTLS 的服务器/客户端示例?

    我不知道。也许你问你已经找到的项目。或者在这里问CoAP-CSharp

    【讨论】:

    • 感谢@Achim Kraus 提供的有用信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 2013-08-23
    相关资源
    最近更新 更多