問題描述
我寫了一個用于安全消息傳輸?shù)男?Web 應(yīng)用程序以了解有關(guān)加密的更多信息,并想將它展示給我的朋友并讓他們玩一點,所以我將它托管在我的小服務(wù)器上,并震驚地發(fā)現(xiàn)Web Crypto API(我拼命工作,因為它的錯誤消息不是很具體)需要 SSL(有點違背在瀏覽器中實現(xiàn)自己的加密方案的目的)!
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)!
我已經(jīng)在該服務(wù)器上使用 SSL 運行了另一個 API,但我不想合并它們,而是想問:有沒有辦法繞過 Web Crypto API 的安全套接字要求,或者那里有另一個庫可以讓我在不安全的環(huán)境中使用相同或相似的功能?
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 規(guī)范(https://www.w3.org/TR/WebCryptoAPI/ )不限于 SSL,但瀏覽器實現(xiàn)需要安全來源"
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
您需要設(shè)置 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.
這篇關(guān)于沒有 ssl 的 Web 加密 API的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!