問題描述
我寫了一個用于安全消息傳輸的小 Web 應用程序以了解有關加密的更多信息,并想將它展示給我的朋友并讓他們玩一點,所以我將它托管在我的小服務器上,并震驚地發現Web Crypto API(我拼命工作,因為它的錯誤消息不是很具體)需要 SSL(有點違背在瀏覽器中實現自己的加密方案的目的)!
I wrote a little webapp for secure message transfer to learn more about encryption, and wanted to show it to my friends and let them play with it a little, so I hosted it on my little server, and was shocked to find that the Web Crypto API (which I worked my ass off to get to work because it is not very specific in its error messages) REQUIRES SSL ( kinda defeats the purpouse of implementing your own encryption scheme in browsers)!
我已經在該服務器上使用 SSL 運行了另一個 API,但我不想合并它們,而是想問:有沒有辦法繞過 Web Crypto API 的安全套接字要求,或者那里有另一個庫可以讓我在不安全的環境中使用相同或相似的功能?
I already have another API running on that server with SSL, but instead of merging them I wanted to ask: Is there a way to circumvent the secure socket requirement of Web Crypto API, or is there another library out there which allows me to use the same or similar functions in a non-secure context?
推薦答案
WebCrypto API 規范(https://www.w3.org/TR/WebCryptoAPI/ )不限于 SSL,但瀏覽器實現需要安全來源"
The WebCrypto API specification(https://www.w3.org/TR/WebCryptoAPI/ ) does not restrict to SSL, but browser implementations require a "secure origin"
例如,Chrome 需要 https
、wss
、localhost
或擴展程序.請參閱 https://stackoverflow.com/a/46671627/6371459
For example, Chrome requires https
, wss
, localhost
or an extension. See https://stackoverflow.com/a/46671627/6371459
您需要設置 SSL 連接才能使用 webcrypto.如果您想使用其他庫(forge、pki.js 等),則不會有此限制,但建議在使用密碼學時使用 SSL/TLS.
You would need to set up a SSL connection in order to use webcrypto. If you want to use another library (forge, pki.js, etc.) you will not have this restriction, although it is advisable to use SSL / TLS when using cryptography.
這篇關于沒有 ssl 的 Web 加密 API的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!