zoukankan      html  css  js  c++  java
  • FreeSWITCH的TLS加密

    听着很高大上(实际也很实用)的加密机制,在FreeSWITCH里配置支持竟然这么简单!

    Greate FreeSWITCH and Greate Programmer!

    ① cd /usr/local/freeswitch/bin(以默认的安装路径为例)

    ② 产生root的证书

    ./gentls_cert setup -cn 你的域名 -alt DNS:dns服务器的域名 -org 企业名称

    ③ 产生Server的证书

    ./gentls_cert create_server -cn 你的域名 -alt DNS:dns服务器的域名 -org 企业名称

    ④ 查看证书的明细

    openssl x509 -noout -inform pem -text -in /usr/local/freeswitch/conf/ssl/agent.pem

    ⑤ 修改vars.xml文件

    <!-- Internal SIP Profile -->
      <X-PRE-PROCESS cmd="set" data="internal_auth_calls=true"/>
      <X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
      <X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>
      <X-PRE-PROCESS cmd="set" data="internal_ssl_enable=false"/>
      <X-PRE-PROCESS cmd="set" data="internal_ssl_dir=$${base_dir}/conf/ssl"/>
    将internal_ssl_enable=false改为true

    至此,重启reload mod_sofia服务器已经支持TLS了,但是此时所有的客户端下载的都是root的证书。这种情况下服务器可能会遭受MITM攻击(Man-in-the-Middle Attack)。

    更安全的做法是为每一个客户端生成一个客户端证书。

    ⑥ 产生客户端证书

    ./gentls_cert create_client -cn client -out client

    OK,抓包看看吧。

    支持TLS的客户端的注册等信令交互已经肉眼无法识别了。

    如果这个客户端还支持SRTP,好吧,媒体流也加密了,这下安全级别就上去了。

  • 相关阅读:
    TCP/IP和HTTP的举例理解
    c#中栈和堆的理解
    c#设计模式之单例模式
    JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值
    JSON.stringify初识
    c# 过滤字符串中的重复字符
    C#中jQuery Ajax实例(二)
    C#中jQuery Ajax实例(一)
    jQuery动态对表格Table进行添加或删除行以及修改列值操作
    asp.net中控件的Attributes用法
  • 原文地址:https://www.cnblogs.com/yoyotl/p/4975273.html
Copyright © 2011-2022 走看看