我在 angularjs 的资产文件夹中有 2 个脚本。我使用https://hash.online-convert.com/sha384-generator为他们生成了完整性哈希。在我的本地主机中,一切正常。但是在服务器中只有 IE 可以工作,但是 firefox 和 chrome 告诉 hash 与内容不匹配。以下是如何包含文件的示例:
<script src="assets/scripts/jquery-3.1.1.slim.min.js" integrity="sha384-aL/wpCLJCv6t5sBNGKKvqcvD4HI7ELd0TsuutAmgCJcNpe0y7D5ECI62DIOy5Xyl" crossorigin="anonymous"></script>
API 使用 Java Spring 实现,并且还添加了此安全标头:
.addHeaderWriter(new StaticHeadersWriter("X-Content-Security-Policy","script-src 'self'"))
为什么 firefox 和 chrome 不能使用网络服务器中的完整性哈希正确验证?我错过了什么吗?