内容安全策略:字体源哈希:数据

Content Security Policy: hash for font-src: data

我想为我的 CSP 指定允许字体的哈希。

目前我的默认源是 none,然后对于字体源我有 'self'.

我的字体目前作为数据包含在内,如下所示:“data:font/ttf;base64,AAEAAAARAQ...”

我不只是将数据:添加到我的 font-src,而是添加散列。我不确定这是否可能,或者如何正确地做到这一点。我采用了“data:font/ttf;base64,AAEAAAARAQ...”的 sha256 散列并将其作为 'sha256-asldfkj' 包含在我的 font-src 中,但这没有用。

任何见解将不胜感激!

1). 'hash-value''sha256-he03geRc75f''sha384-nd78ro9==' 等仅适用于内联脚本和内联样式,参见 CSP3 规范的第二个 "Note" to para 5

2). CSP3 规范 did extend hashes usage to external scripts (but Firefox still have a bug 与此)。请注意,在这种情况下,您必须在标签中使用 integrity= 属性。

因此哈希不适用于字体,因为上面 para 1)(另外,您可能忘记使用 integrity= 属性)。
数据:-URL 被视为外部资源的 URL,而不是内联。因此哈希值也不适用,因为上面的 para 2)

注意:'hash-value'supported 以允许带有数据的外部脚本:-urls in Chrome.