使用HTTPS localhost SSL证书保护WebSocket(WSS)?

时间:2016-03-16 13:45:48

标签: android ssl https websocket

我对这整个WebSocket和SSL证书都不熟悉。

所以我在Android端创建了自己的WebSocket服务器,网站就是客户端。我能够使用常规WebSocket (ws://)但不能保证安全的WebSocket (wss://),因为它需要SSL证书。

我的问题是如何获得SSL证书?根据我的阅读,SSL证书基于域。我需要它为localhost。我需要它来做这样的地址:

wss://localhost:8080/ws/main

如何获取可与localhost一起使用的SSL证书。

感谢您的时间!

======================编辑=====================

我这样做的原因: 我的Android应用程序中有一个蓝牙服务,它将从连接的健康蓝牙设备(如体重秤和血压机)获取数据。我已经实现了这部分,我想将这些数据传递给网站。 WebSocket似乎更容易,因为用户将打开我的应用程序,当他们自己的重量时,它会自动填充网站上的重量等级权重。我希望我明白这一点。

要做到这一点,我需要有办法将体重或血压值从Java(Android)传递到WebView中加载的网站。所以我认为WebSocket是最简单的方法。

如果您认为有更简单的方法,请告诉我。

此外,我已经尝试过自签名证书,我收到以下错误:

I/X509Util: Failed to validate the certificate chain, error: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

OR

Exception=javax.net.ssl.SSLException: Error occured in delegated task:javax.net.ssl.SSLException: Not trusted server certificate

谢谢!!!

1 个答案:

答案 0 :(得分:0)

我们遇到了类似的问题,我们的解决方案是将子域注册到我们的某个域,其A记录为127.0.0.1并获得该域的证书。

  • local.example.com - >记录到127.0.0.1
  • 为local.example.com请求的SSL证书

我担心这个答案对你来说太迟了,但是对于其他人来说这会有所帮助。

相关问题