FreeSWITCH中配置支持TLS連接

爲保證SIP信令的安全傳遞,可通過TLS連接以保證SIP數據傳輸的安全;若要保證媒體數據的安全,則需要開啓srtp。

FreeSWITCH通過OpenSSL提供了對TLS的支持,爲支持TLS連接需要創建證書,並修改配置。

 


創建證書

在conf目錄下創建"ssl\ca"目錄,用於創建證書。

需要管理員方式運行下面的命令(可能會提示找不到openssl.cnf文件,可忽略,或下載配置文件後,通過set  OPENSSL_CONF=....cnf來設定配置文件的位置)

 

1、創建CA證書

1). 創建tmp1.cfg文件,內容如下

[ req ]

default_bits            = 1024

prompt                  = no

distinguished_name      = req_dn

 

[ req_dn ]

commonName              = FreesSWITCH CA

organizationName        = FreeSWITCH

2).創建證書

openssl.exe req -new -out "careq.pem" -newkey rsa:1024 -keyout "cakey.pem" -config "tmp1.cfg" -nodes -sha1

openssl.exe x509 -req -signkey "cakey.pem" -in "careq.pem" -out "cacert.pem" -extfile "tmp1.cfg" -extensions ext -days 365 -sha1

 

2、生成證書

1). 創建tmp2.cfg文件,內容如下

[ req ]

default_bits            = 1024

prompt                  = no

distinguished_name      = req_dn

 

[ req_dn ]

commonName              = FreesSWITCH CA

organizationName        = FreeSWITCH

 

[ ext ]

basicConstraints=CA:FALSE

subjectKeyIdentifier=hash

authorityKeyIdentifier=keyid,issuer:always

subjectAltName=DNS:test.freeswitch.org 

2).生成證書

openssl.exe req -new -out "tmp2.req" -newkey rsa:1024 -keyout "tmp3.key" -config "tmp2.cfg" -nodes -sha1

openssl.exe x509 -req -CAkey "cakey.pem" -CA "cacert.pem" -CAcreateserial -in "tmp2.req" -out "tmp3.crt" -extfile "tmp2.cfg" -extensions ext -days 365 -sha1

 


FreeSWITCH中配置證書

生成好證書後,即可在FreeSWITCH中使用。

 

1、複製證書到ssl目錄下

copy cacert.pem ..\cafile.pem

copy tmp3.* ..\agent.pem

 

2、修改配置文件(var.xml)

<X-PRE-PROCESS cmd="set" data="internal_tls_port=5961"/>

<X-PRE-PROCESS cmd="set" data="internal_ssl_enable=true"/>

<X-PRE-PROCESS cmd="set" data="internal_ssl_dir=.../conf/ssl"/>

 

完成重啓後,即可通過TLS進行註冊連接(如microSIP中,在賬戶修改中連接方式選擇TLS,登錄即可),此時通過WireShark抓包會發現TCP的數據都是亂碼(已加密)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章