FreeSwitch TLS认证客户端证书

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FreeSwitch TLS认证客户端证书

FreeSwitch是基于Asterisk定制的SIP Server,支持TLS认证客户端证书,本文主要讲解FreeSwitch CA、Server、Client配套证书制作方法,以及Server单方认证客户端证书过程,如下简易流程图所示,即Server、Client 双方建立Hello通讯后,Server要求Client发送Client持有的证书,以便Server确认Client持有证书是可靠的,并与Server属于同一个CA所签发的证书,仅通过Server认证后才于后续通讯。

证书制作

1、生成CA根证书:

1)生成必要的目录:mkdir -p ssl && cd ssl。

2、生成Server证书:

1)生成Server证书请求文件和私钥:openssl req -new -out server.req -newkey rsa:2048 -keyout server.key

2)使用CA证书给Server证书签名:openssl x509 -req -CAkey cakey.pem -CA cafile.pem -CAcreateserial -in server.req -out server.crt -days 730 -sha1

3)拼合Server证书与私钥:cat server.crt server.key > agent.pem。

3、生成Client证书:

2)使用CA给Client证书签名:openssl x509 -req -CAkey cakey.pem -CA cafile.pem -CAcreateserial -in client.req -out client.crt -days 730 -sha1

配置FreeSwitch

以下演示以Windows FreeSwitch配置为例,Linux FreeSwitch与其一致。

1、在FreeSwitch conf目录下创建ssl文件夹,并将agent.pem、cafile.pem文件复制到ssl目录。

2、打开FreeSwitch conf/vars.xml,将“internal_ssl_enable”设置为“true”,“internal_ssl_dir”指向ssl文件夹,无“internal_ssl_dir”参数则增加一行。

3、打开FreeSwitch conf/sip_profiles/internal.xml,设置“tls-cert-dir”为“$${internal_ssl_dir}”,“tls-verify-policy”

修改为“all”。

4、启动FreeSwitch。

话机配置

1、登录AndroidPhone话机,进入Advanced Settings→Genneral Settings,将client.crt、client.key以及client 私钥密码(本文示例中的Client私钥为123456)填入到相应位置。

2、AndroidPhone使用TLS协议注册FreeSwitch上的账号(默认ID:1001-1020,PWD:1234)。

3、抓取注册数据包,可以从Secure Sockets Layer→TLSv1 Record Layer: Handshake Protocol: Certificate→Handshake Protocol: Certificate→Certificates中看到话机发送Client证书,经SIP-Server校检后即账号即可注册功能。

相关文档
最新文档