【问题标题】:C# DTLS implementation that uses X509Certificate2 certificates使用 X509Certificate2 证书的 C# DTLS 实现
【发布时间】:2020-02-14 13:34:23
【问题描述】:

我正在尝试创建一个 CoAP 服务器,该服务器使用基于证书的 DTLS 来加密传输中的数据。我正在使用CoAP-CSharp Nuget package 来设置服务器,但是,我对让我们的 RSA X509 证书与它一起工作并没有太大的乐趣。似乎没有太多关于如何将 X509Certificate2 对象转换为 DTLSEndPoint 所需的 OneKey 的文档。

有人能做到吗?

【问题讨论】:

  • 至少在 2018 年夏天,c-Sharp 实现根本不支持 x509(请参阅c-Sharp-x509-client。对于 CoAP,ECDSA 比 RSA 更常见。所以,我建议检查一下,如果同时支持,并且它只支持 ECDSA 或 RSA。
  • 谢谢,Achim,这确实是正确的。目前,该软件包仅支持 ECDSA SHA256 证书。我设法通过用 ECDSA 证书替换我们的 RSA 证书来让它工作。

标签: c# x509certificate2 coap


【解决方案1】:
public TlsKeyPair(byte[] certificate, OneKey privateKey)

public TlsKeyPair(X509CertificateStructure[] certificateArray, OneKey privateKey)

唯一的密钥似乎是您证书的私钥,而不是证书本身。确保您有权访问该私钥,否则将无法执行此类握手。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-12
    • 2015-12-28
    • 2019-10-31
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2017-07-10
    • 2015-08-26
    相关资源
    最近更新 更多