3

这个错误在 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"]
)

请注意,keyisnew Uint8Array([251, 23, 127, ... ])因此key.buffer应该是 的一个实例ArrayBuffer

iOS 想从我这里得到什么!?!?

更新

虚惊。Mobile Safari is missing TypedArray.prototype.slice,它在其他地方用 填充Array.prototype.slice,导致对象不是缓冲区。

4

0 回答 0