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

标签 android ssl https websocket

我对整个 WebSocket 和 SSL 证书有点陌生。

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

我的问题是如何获得 SSL 证书?据我了解,SSL 证书是基于域的。我需要它用于本地主机。我需要它来访问这个地址:

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.

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

谢谢!!!

最佳答案

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

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

恐怕这个答案对您来说太晚了,但是它对其他人找到这篇文章很有帮助。

关于android - 使用 HTTPS localhost SSL 证书保护 WebSocket (WSS)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36037510/

相关文章:

javascript - 如何在 appcelerator 中隐藏幻灯片菜单?

PHP 函数 getimagesize() 在尝试获取 https url 时给出 "Read error"

java - 创建多个 SSL 连接池

asp.net - HTTPS 停止与 IIS Express 配合使用

android - 使用 FileProvider 共享缓存图像

android - 如何让谷歌地图在 ScrollView 中正确滚动?

ios - 应用程序突然停止并收到 NSURLErrorDomain 错误

ssl - 如何创建受信任的自签名 SSL 证书

http - 如何定义页面是通过 https 还是 http 请求的?

Android:loopj 未导入