SSL RED5 rmpts https CA

  花了两天的时间,在Linux系统,red5服务器上布置CA证书,可以启用rtmps和https请求,总结如下。
  一些基本定义网上可以查到,这里只说重点流程。
  原来会话系统是rtmp协议,现在启动rtmps协议。
 
  以下流程完全可以使用jdk6自带的C:\Program Files\Java\jdk1.6.0_10\bin\keytool.exe工具生成keystore文件,然后和证书生成JKS文件。(网上文档很多)

1.各种工具都可以生成key文件,有的地方叫keystore文件,有的叫***.key文件,名都是根据不同的需要所起,其实都是一个文件。里面的别名一定别搞错。

2.生成CRS文件,里面是公司的基本信息,发给(邮件)CA认证机构,最好买所有浏览器都支持的证书,他们会给你一段如下的东东:
-----BEGIN CERTIFICATE-----
MIIFDjCCA/agAwIBAgIDAP6XMA0GCSqGSIb3DQEBBQUAMEAxCzAJBgNVBAYTAlVT
MRcwFQYDVQQKEw5HZW9UcnVzdCwgSW5jLjEYMBYGA1UEAxMPR2VvVHJ1c3QgU1NM
-----END CERTIFICATE-----
把这些复制到一个文本中,起名***.cer文件,图标就是一个证书。

3.最后用各种工具,或者https://www.myssl.cn/openssl/createjks.asp网址,把key文件和cer证书合成***.jks文件。

以上证书就可以使用了。

重点强调: 合成的***.jks文件,改名为keystore后,就是red5/conf/keystore文件了!
red5/conf/keystore绝非我们一开始生成的key文件(一般网上都给此文件起名keystore)。文件名当时可是迷惑了我大半天~



red5配置:
1./conf/red5.properties  里面配置好https和rtmps的端口号,所有字符必须小写
2.如果报endpoint异常,把red5-core.xml里面<value>${rtmps.port}</value>改成<value>8555(来个没占用的端口号)</value>,和red5.properties里面的rtmps.port不一样,
然后访问的时候以8555为准。
(当然,这不是最好的解决办法,最好的解决办法就是让你的red5.properties里面配置真正正确,比如端口号没问题,大小写没问题....)
3.测试: 启动服务器没有问题,则ok;
4.启动red5服务,打开red5自带的小例子http://localhost:5080/demos/ofla_demo.html
输入rtmps://域名:端口号/appName
域名可以是本机hostName,在HOST文件中进行如下配置:
ip空格hostName

总结:生成证书其实很容易,配置也很容易,不过很多细节方面一定要处理干净。
以上证书是在服务器端使用,为单向管道,如果想配置成双向管道,则可以参考
http://www.myssl.cn/guide/ssl_tomcat.asp#003  生成前端的证书。


后记:
    
     公司最近新买了10个域名,仍然使用上面的证书。
     1.新域名需要用原来的*.key文件和新买的证书文件 *.cer文件在
  https://www.myssl.cn/openssl/CreateJKS.asp  网址合并成*.jks 文件。
  别名随便起  

2. *.jks 文件改名为 keystore  放置在app服务器的conf文件下

3.重启服务器.

4.启动red5服务,打开red5自带小例子: http://localhost:5080/demos/ofla_demo.html 测试。
  输入  rtmps://域名:port/appName


*******************************************************************************************
安全警告:  有两种情况
         a.)rtmps://ip:8557/tchat  使用ip,不使用域名。
         b.)安全警告下,点击查看证书。
       
        如果主题备用名称中所有域名没有包含测试域名,则必然会有安全警告!

    

猜你喜欢

转载自divine.iteye.com/blog/1265416