Dav*_*ith 5 android google-chrome-devtools service-worker
我正在开发一个渐进式网络应用程序,为了确保它在移动设备上运行(特别是在 Chrome for Android 上,因为它有 90% 的用户),我正在尝试在 Android 设备上测试服务工作者。
不幸的是,在Chrome for Android 上,我无法注册服务工作者:
获取脚本时发生 SSL 证书错误。
无法加载资源:net::ERR_CERT_AUTHORITY_INVALID
我知道 service worker 需要通过 HTTPS 提供服务,所以我的 webapp有一个自签名证书。它不受浏览器信任,但仍然可以继续。使用 Firefox for Android 时,没问题我可以签名推送通知并注册服务工作者,但使用 Chrome 时它不起作用。
在桌面版 Chrome 上,可以使用开发工具通过非安全来源启用 Service Worker。我希望找到可以在移动设备上使用的等效标志,但不存在。
有没有办法在 Chrome Android 上授权 service worker 进行调试?
我发现了一个关于同一问题的旧问题,没有有用的答案,并决定打开这个问题以供可见。
从您提到的另一篇 StackOverflow 帖子中,我可以看到解决方案就在问题中。
您需要将证书颁发机构crt添加到您的 Android 信任列表中。
为什么特别是证书颁发机构 .crt ?
原因很简单,Android 只接受 CA 证书。
如何获得 CA 证书?
通常,证书颁发机构 (CA) 充当受信任的第三方。出于调试目的,您可以充当 CA 自行颁发自签名证书。
创建根密钥:(openssl genrsa -des3 -out rootCA.key 4096警告:任何持有此密钥的人都可以代表您签署证书!)
创建并自签名根证书:openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt
请记住,您的 web 应用程序的SSL 证书需要使用相同的自行创建的 CA 生成。
在 Android 设备上安装证书
获得 .crt 文件后,将其复制到您的设备中。然后转到“设置”>“安全”>“从存储安装”。它应该检测证书并让您添加它。
要确保其安装正确,请转至受信任的凭据>用户。
| 归档时间: |
|
| 查看次数: |
2048 次 |
| 最近记录: |