#integrity #digests #compute #subresource #check #checksum #file

bin+lib srisum

计算并检查子资源完整性摘要

5 个稳定版本 (4 个主要版本)

5.0.0 2023 年 2 月 3 日
4.0.0 2022 年 6 月 11 日
3.0.0 2019 年 11 月 6 日
2.0.0 2019 年 10 月 21 日
1.0.1 2019 年 6 月 18 日

#3 in #digests

自定义许可

27KB
258 行代码,不包括注释

srisum(1) -- 计算并检查子资源完整性摘要

概要

$srisum[选项]... [文件]...

示例

计算 SRI 摘要

单个文件

$ srisum styles.css > styles.css.sri

多个不同文件

$ srisum styles.css index.js package.json bundle.js > app.sri

stdin

$ cat styles.css | srisum -a sha1
sha1-hmkHOZdrfLUVOqpAgryfC8XNGtE -

指定要生成的算法

$ srisum styles.css index.js --algorithms sha512 sha256 sha1 > styles.css.sri

检查完整性

传递校验和文件作为参数

$ srisum -c styles.css.sri
styles.css: OK (sha512)

传递多个校验和文件

$ srisum -c styles.css.sri js-files.sri
styles.css: OK (sha512)
index.js: OK (sha512)
lib/util.js: OK (sha512)

stdin 传递校验和文件

$ cat styles.css.sri | srisum -c
styles.css: OK (sha512)

校验和 stdin 本身

$ echo "hello" | srisum > stdin.sri
$ echo "hello" | srisum -c stdin.sri
-: OK (sha512)

描述

打印或检查子资源完整性摘要。

规范: https://w3c.github.io/webappsec/specs/subresourceintegrity/

srisum 的 API 基于 SHA[N]SUM(1) 系列Unix工具。

没有 FILE 或当 FILE- 时,读取标准输入。

-a, --algorithms [ALGO]... - 为 FILE 生成哈希算法

-c, --check - 从 FILE 读取 SRI 摘要并检查它们

-d, --digest-only - 仅输出每个 FILE 的摘要,不包含文件名

--help - 显示帮助并退出

--version - 输出版本信息并退出

以下选项仅在验证完整性时有用

--ignore-missing - 对于缺失的文件不失败或报告状态

--quiet - 对于每个成功验证的文件不打印 OK

--status - 不输出任何内容,状态代码显示成功

-w, --warn - 警告关于格式不正确的 SRI 行

在检查时,输入应该是此程序之前输出的内容。默认模式是打印包含空格分隔的 SRI 摘要、一个空格和一个文件名的行。

严格模式,通过--strict启用,将完全忽略所有以下条件都未通过的摘要(输入和输出)

  • algorithms必须是以下之一:sha1sha256sha384sha512
  • 摘要字符串必须是有效的RFC4648 Base64字符串。

作者

Kat Marchán (@zkat)编写

贡献

sriscum团队热情欢迎贡献和项目参与!如果您想贡献,有很多事情可以做!贡献指南包含了从报告错误到贡献整个新功能所需的所有信息。如果您愿意,请随时加入,或者如果您对某些事情不清楚,也可以向我们提问。

本项目所有参与者和维护者都应遵守行为准则,并相互友好相处。

快乐编程!

许可证

本项目采用Apache-2.0许可证。

依赖

~5.5–7.5MB
~137K SLoC