DTLS协议

在openssl中,创建DTLS环境都已经被封装好了

 ssl_ctx = SSL_CTX_new(DTLS_method());

接下去我们编程的时候有两种方式去使用DTLS,1 是直接读证书文件,2 是产生证书文件
如果我们本身没有证书,而又需要,可以立刻产生证书

X509* dtls_srtp::ssl_cert = NULL;
EVP_PKEY* dtls_srtp::ssl_key = NULL;
if (dtls_generate_keys(&ssl_cert, &ssl_key) != 0) {printf("Error generating DTLS key/certificate\n");return -2;
}

当然如果有证书,直接就使用load载入就好

X509* dtls_srtp::ssl_cert = NULL;
EVP_PKEY* dtls_srtp::ssl_key = NULL;
dtls_load_keys(server_pem, server_key, &ssl_cert, &ssl_key)

x509

而里面的ssl_cert 就是x509,那么x509到底是什么东西呢?
实际上X.509 是密码学里公钥证书标准。证书己应用在包括TLS/SSL协议里.可以应用在电子签名服务中。X.509证书里含:
1、公钥
2、身份信息(比如网络主机名,组织的名称或个体名称等)
3、签名信息(可以是证书签发机构CA的签名,也可以是自签名)
4、证书吊销列表
5、从最终对证书进行签名的证书签发机构直到最终可信点为止的证书合法性验证算法。

因此,里面既包含了公钥信息,也包含了基本信息,还有就是签名,签名的概念和过程是:
1 消息发送者持有 私钥以及加密算法,如RSA或者ECC算法等
2 用私钥和加密算法对明文数据进行加密,得到密文数据,称为签体
3 把明文数据和密文数据同时给到消息接收者
4 消息接收者收到后,先取出密文数据,用公钥对密文解密,得到明文数据;
5 将明文数据和收到的明文数据做对比,如果相同则数据完整且可信

这是签名的过程,这样做有什么意义,就是一点:防止数据被篡改,明文的数据加上签名,可以判断明文是否被篡改,那么如果明文很长呢?整个过程很费事件,所以就产生了摘要算法,对明文进行hmac算法,实际上是一种hash算法,我的其他文章中有源代码,读者可以自己找。

DTLS协议中的密钥

而DTLS协议中,数据密钥是一个随机的数,而传输这个密钥就是通过对方的公钥加密,而对方收到以后,用私钥解密,得到了这个密钥,传输的时候使用数据密钥对称加密,是这样的,您理解了吗?

DTLS协议中的509证书和密钥如何传输相关推荐

  1. 关于PEM, DER, CRT, CER,KEY等各类证书与密钥文件后缀的解释

    文章目录 1. PEM文件 2. DER文件 PEM与DER的相互转换 3. 各种密钥证书文件解释 3.1 [ .csr ] 3.2 [ .key ] 3.3 [ .crt ] [ .cert ] [ ...

  2. 什么是X.509证书?X.509证书工作原理及应用?

    X.509是公钥基础设施(PKI)的标准格式.X.509证书就是基于国际电信联盟(ITU)制定的X.509标准的数字证书.X.509证书主要用于识别互联网通信和计算机网络中的身份,保护数据传输安全.X ...

  3. 详解 WebRTC 传输安全机制:一文读懂 DTLS 协议

    DTLS(Datagram Transport Layer Security) 是基于 UDP 场景下数据包可能丢失或重新排序的现实情况下,为 UDP 定制和改进的 TLS 协议.在 WebRTC 中 ...

  4. postman设置域名_Postman中文文档——证书(Certificates)

    证书 Postman的本地应用程序提供了一种在每个域名的基础上查看和设置SSL证书的方法. 要管理客户端证书,请单击工具栏右侧的扳手图标,选择设置(Settings),然后选择证书(Certifica ...

  5. java dtls server_DTLS协议中client/server的认证过程和密钥协商过程

    1.DTLS介绍 1.1 DTLS的作用 互联网先驱们最开始在设计互联网协议时主要考虑的是可用性,安全性是没有考虑在其中的,所以传输层的TCP.UDP协议本身都不具备安全性.SSL/TLS协议是基于T ...

  6. 【转】x.509证书在WCF中的应用(CS篇)

    [转自]x.509证书在WCF中的应用(CS篇) 为什么要用x.509证书? WCF的服务端和客户端之间,如 果不作任何安全处理(即服务端的<security mode="None&q ...

  7. 【转】x.509证书在WCF中的应用(Web/IIS篇)

    [转自]x.509证书在wcf中的应用( web/iis篇) 在上一篇"x.509证书在WCF中的应用(CS篇)"里,我们知道了如何在应用程序中,利用x.509证书来验证WCF的消 ...

  8. [轉帖]x.509证书在WCF中的应用(Web/IIS篇)

    http://www.cnblogs.com/yjmyzz/archive/2008/08/22/1272836.html 在上一篇"x.509证书在WCF中的应用(CS篇)"里, ...

  9. X.509证书的介绍

    目录 1.X.509简介 2.证书组成结构 3.证书文件扩展名 4.生成一个自签名证书的示例 5.生成签名请求及CA 签名 1.X.509简介 X.509是密码学里公钥证书的格式标准.X.509证书已 ...

最新文章

  1. 一周焦点 | 李彦宏:如果谷歌回来,有信心再赢一次;GitHub深度学习开源项目Top200...
  2. react全局状态管理_rxv: 在React中用Vue3的reactivity包实现状态管理。
  3. LintCode 寻找旋转排序数组中的最小值 II
  4. hadoop与hive
  5. 关于改进建议几个方面的有效实践
  6. 简单工厂模式--计算器代码及UML图
  7. 教你快速打粤语正字 讯飞输入法语音输入1分钟400字
  8. oracle锁表查询及释放进程
  9. cad怎么画立体图形教学_cad怎么绘制三维图形,cad三维制图实例图文教程
  10. 谈谈用统一网关gate的利与弊
  11. 动手学深度学习——4. 猫狗大战
  12. 皮皮胡位置设定服务器,逆水寒买橘子给皮皮寒任务完成方法
  13. 关于学校edu邮箱登录第三方邮件客户端(例如Outlook、Foxmail、QQ邮箱、邮件App等)的注意事项
  14. 讨论数据增强(data augmentation)的有效性
  15. 区块链开发零基础必备技能之GO语言从入门到高级
  16. 用于图像降噪的卷积自编码器
  17. 动态网站基本上都是有后台的,静态的网站就是纯HTML的网站的,这样的网站是没有后台的
  18. 学习笔记——STM32C8T6如何配置普通IO口
  19. erp接口,打单软件,订单管理软件,旗帜接口,备注接口,旗帜接口,打单接口,发货接口
  20. 同事的评价:你的思维跳跃性太大!

热门文章

  1. Python3.5安装与ChatterBot聊天机器人使用
  2. 唐山职业技术学院计算机专业分数线,唐山职业技术学院历年分数线 2021唐山职业技术学院录取分数线...
  3. 成功者十三个价值连城的习惯
  4. 一段可自动点击运行代码(只偷偷的点一次)
  5. 爆款预定!雷军再曝小米12 Pro:首发自研芯片澎湃P1
  6. 中兴通讯携手ACCYOURATE发布“YouCare”5G智慧T恤
  7. 腾讯与字节跳动罕见“合作”:企业微信在抖音投放广告
  8. 降价到心痛也无人问津!这款手机成绝唱...
  9. 曝iPhone 12 Pro耗电异常,没开启任何应用电量也急剧下降
  10. 诺基亚宣布与博通合作开发5G芯片 包括定制处理器