此错误在Mobile Safari上意味着什么?
只能传递ArrayBuffer和ArrayBufferView对象 CryptoOperationData
违规代码是:
return (window.crypto.subtle||window.crypto.webkitSubtle).importKey(
"raw"
, key.buffer
, { name: "HMAC"
, hash: { name: "SHA-1" }
}
, false
, ["sign", "verify"]
)
请注意,key
为new Uint8Array([251, 23, 127, ... ])
,因此key.buffer
应为ArrayBuffer
的实例。
iOS对我有什么要求!?!?
更新
误报。移动Safari缺少TypedArray.prototype.slice
,其中Array.prototype.slice
在其他地方进行了填充,导致该对象不是缓冲区。