@noble/secp256k1的crypto.subtle undefined问题

vue使用 @noble/secp256k1 的时候,在本地调试时能够正常加密,但一旦改为内网IP或域名的时候就会出现这个问题


image.png

追下去源码,发现无法调用的对象是这个subtle


image.png

而隔壁的crypto.web则来源于window.crypto
image.png

所以问题定位成在非127.0.0.1和localhost下,window.crypto.subtle是无法获取到的,只能加上https才能使用该函数。


本地ok

内网环境内无法访问

在这篇回答里面也确定了这个问题:
https://stackoverflow.com/questions/62259020/make-local-network-ip-a-secure-context

结论:windows.crypto需要在本地和https生产环境中使用

你可能感兴趣的:(@noble/secp256k1的crypto.subtle undefined问题)