在freeswitch服务端添加tls证书时,出现了
unable to create curve (secp160r2)
139913620977480:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting:
PARAMETERS
139913620977480:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: CERTIFICATE
报错。
在freeswitch jira上看到有人提前提到过这个问题,所以在这里记录下解决方法:
1.运行命令 openssl ecparam -list_curves
命令行会返回
secp384r1
: NIST/SECG curve over a 384 bit prime field
prime256v1: X9.62/SECG curve over a 256 bit prime field
2.编辑/usr/local/freeswitch/bin/ 下的gentls_cert文件,更改其第90行
把
openssl
ecparam -name secp160r2 -out CA_CURVE.pem
改为
openssl
ecparam -name secp384r1 -out CA_CURVE.pem
再运行./gentls_cert setup就不会报错了。
freeswitch添加tls支持如此简单。