简体   繁体   English

如何使用与KMS的安全SSL连接在Android上使用自己的“ Tomcat信令服务器”实现Kurento Client JS?

[英]How to implement Kurento Client JS with your own “Tomcat signalling server” on Android using a secure SSL connection to KMS?

So this is a two part question: 所以这是一个两部分的问题:

Part a: I'm trying to implement a secure connection to the KMS. A部分:我正在尝试实现与KMS的安全连接。 From the documentation, I've understood that KMS Configuration file would need to be updated with the SSL certificate and then the HTTPS connection from the client can be made. 从文档中,我了解到,需要使用SSL证书更新KMS配置文件,然后才能从客户端建立HTTPS连接。 Please let me know if there are any other steps that are involved in achieving SSL security. 请让我知道实现SSL安全性是否涉及其他步骤。

Part b: From a better understanding now and from comments from a previous question I posted , Kurento Utils does not connect to KMS directly (this was an fyi and a clarification I received and I wanted documented here just in case). b部分:从现在起更好的理解以及我之前发布的问题的评论中,Kurento Utils不会直接连接到KMS(这是我的看法和澄清,我想在这里记录一下,以防万一。 Now I'm trying to use Kurento Client to connect to KMS and I'm trying to understand the role of ICE/TURN/STUN servers acting as negotiators in the middle. 现在,我试图使用Kurento Client连接到KMS,并且试图了解ICE / TURN / STUN服务器在中间充当谈判者的角色。 If I were to specify my own server URL, I'm assuming that I would not need to include "freeice" and "normalice" and instead specify my own server's URL. 如果要指定自己的服务器URL,则假定不需要包含“ freeice”和“ normalice”,而是指定自己的服务器URL。 In the code snippet below taken from the tutorial on github, I'm assuming that I would need to replace the argument for ice_servers to point to the url where my server is running? 在下面的代码片段(取自github上的教程)中,我假设我需要替换ice_servers的参数以指向服务器运行的url? Or since this is the client, do I really need an ICE server because as said from the first statement, the utils don't connect to the KMS but the client can, right? 还是因为这是客户端,所以我真的需要一台ICE服务器,因为如第一条语句所述,utils不会连接到KMS,但是客户端可以,对吗? So if I were to specify the Kurento URL for "ws_uri" parameter, then I won't need to even use ICE servers...right? 因此,如果我要为“ ws_uri”参数指定Kurento URL,那么我什至不需要使用ICE服务器...对吗? I don't really understand the concept of ICE/TURN servers very well in terms of how they integrate with Kurento and hence, I would like to understand in English as to what changes would I need to make in order to get this to work. 就它们如何与Kurento集成而言,我对ICE / TURN服务器的概念并不十分了解,因此,我想以英文了解如何进行更改才能使其正常工作。 I will bang my head to write the code myself! 我会自己动手编写代码! Thanks much in advance! 在此先感谢!

`
var args = getopts(location.search,
{
default:
{
ws_uri: 'ws://' + location.hostname + ':8888/kurento',
file_uri: 'file:///tmp/recorder_demo.webm', //file to be stored in media server
ice_servers: undefined
}
});`

Answer A 答案A

Only this and nothing more... at least for KMS. 仅此而已...至少对于KMS。 On the client side, you'll need to specify the WSS port and so on. 在客户端,您需要指定WSS端口,依此类推。

Answer B 答案B

Your client might need a STUN/TURN server, and that's independent of where KMS is located. 您的客户端可能需要一台STUN / TURN服务器,这与KMS的位置无关。 STUN and TURN are used in the candidate harvest process, to discover the network topology of your peer. 在候选收割过程中使用STUN和TURN发现对等方的网络拓扑。 You have two peers: KMS and your Android app, and both need to have, in their SDPs and during the negotiation, a candidate that is reachable by them (app will connect with KMS and viceversa) If both peers are on the same network, you can go without using STUN/TURN. 您有两个对等方:KMS和您的Android应用程序,并且两者都需要在其SDP和协商过程中拥有他们可以访问的候选人(应用程序将与KMS连接,反之亦然)。如果两个对等方都在同一网络上,您可以不使用STUN / TURN。 The moment you have a NAT in between, you need at least STUN for that peer to be able to harvest candidates that have the public IP on the other side of the NAT, which is not known by the peer unless STUN is used. 在两者之间具有NAT的那一刻,您至少需要STUN才能使该对等方能够收集在NAT另一端具有公共IP的候选对象,除非使用STUN,否则对等方不会知道。

TURN is used as a relay server, and it is needed in a small set of cases. TURN用作中继服务器,在少数情况下需要使用。 If you are almost certain you are going to use TURN, you need to have that in a machine different than KMS (it makes close to no sense to have both the relay server and the media server installed together) 如果几乎可以确定要使用TURN,则需要将其安装在不同于KMS的计算机上(将中继服务器和媒体服务器安装在一起几乎没有意义)

So the answer is yes, you are most likely going to need STUN/TURN in your clients. 因此,答案是肯定的,您很可能需要在客户中进行STUN / TURN。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在Android客户端和Java服务器之间创建安全的SSL连接? - How to create a secure SSL connection between Android client and Java server? Android安全服务器客户端连接 - Android secure server client connection 如何在android应用程序中实现自己的提示 - How to implement your own hints in android application 使用自签名证书在android中创建安全的客户端 - 服务器连接 - Using a self-signed certificate to create a secure client-server connection in android 使用node.js信令服务器的Jain Sip Stack - Jain Sip Stack using node.js Signalling Server 驱动程序无法使用安全套接字层(SSL)加密与SQL Server建立安全连接 - The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption SSL java服务器与android客户端连接失败 - SSL connection failure between java server and android client 需要在Android客户端中调用Kurento Media Server opencv插件 - Need to call Kurento Media Server opencv plugin in Android client 无法使用自签名证书实现与服务器的SSL连接 - Cannot implement SSL connection to server using self-signed certificate 如何确保Android App与Tomcat服务器之间的通信安全? - How to secure a communication between Android App and Tomcat server?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM