@attestto/trust

中文文档
1.3.0发布于 2026/07/24Apache-2.0TypeScriptES Module零依赖近 30 天下载 2545

国家数字签字基础设施X.509信托主机的独立公共镜像(整个拉丁美洲、北美和欧盟/欧洲经济区27个国家),加上GLEIF vLEI组织-信任根基。 (原始内容存档于2018-03-21). Live Directory at trust.attestto.org.

中文使用文档
文档目录24 节
  1. 建筑
  2. 快开始
  3. 安装
  4. 在应用程序中使用
  5. 国家
  6. 全球/组织主播
  7. 关键概念
  8. 证书清单
  9. 审计线索
  10. 仓库布局
  11. 使用证书
  12. 滚入你的信托店
  13. 对照捆绑校验
  14. 在使用前验证证书的散列
  15. 更新现有国家
  16. 添加一个国家
  17. 出版发行
  18. 限制
  19. 生态系统
  20. 用 LLM 构建
  21. 建议设置
  22. 哪个模特儿?
  23. 捐款
  24. 许可证

证明信任

Live directory npm version License: Apache-2.0 Sponsor

国家数字签字信任根和中间体的独立公共镜像。 hash-probed,版本控制,git历史是审计线索.

浏览当前目录 信任. attestto.org ——每个镜像的根和中间点,每个国家,都有其SHA-256指纹,有效性窗口,密钥算法,CRL/OCSP端点,并一击 .pem 下载.

@attestto/trust 关键的信任基础设施 尝试打开 生态系统。 大部分国家PKI寄存器被部分打碎了——错误的内容类型,半部署的HTTPS,混合式的URL突起,缺失分支,死链接. 每个集成一个国家数字签名堆栈的开发商都撞上同一面墙. 这回波镜像了每个国家的发行当局公布的二进制字节作为-is,hash-propt,以及版本控制. 真相的合法来源仍然是每个国家的签发当局。 我们不是一个证书管理局——我们不签发、重新签发、签署或担保任何证书. 随时核对SHA-256与发证机关的存放处,当你能到达时.

image

建筑

graph LR
    A["National PKI<br/>Authorities"] -->|publish certs| B["attestto-trust<br/>mirror"]
    B -->|hash-pinned<br/>version-controlled| C["Git history<br/>audit trail"]
    B -->|CA chains| D["attestto-verify"]
    B -->|CA chains| E["attestto-desktop"]
    B -->|trust roots| F["@attestto/verify<br/>web component"]

快开始

安装

git clone https://github.com/Attestto-com/attestto-trust.git
cd attestto-trust
pnpm install  # for script dependencies

在应用程序中使用

将证书复制到您的信任仓库 :

cp attestto-trust/countries/cr/current/*.pem your-app/trust-store/cr/

对照捆绑校验 :

openssl verify -CAfile attestto-trust/countries/cr/current/chain.pem your-signed-doc.pem

验证证书的散列 :

sha256sum attestto-trust/countries/cr/current/root-ca.pem
# compare against attestto-trust/countries/cr/current/manifest.json

国家

国家导出软件包实时页面权力
哥斯达黎加cr/信任. attestto.org/crBCR / SINPE / MICITT 数字公司
联合国br// br 个ITI——国际比较方案-布拉西尔
联合国ar/阿尔AC 阿根廷共和国
页:1es//过去FNMT-RCM(计算机)
奥地利at/时间RTR / Telekom- Control- Kommission (TKK) eIDAS 信任列表
比利时be//成为FPS 经济(联邦公共服务经济)
捷克共和国cz//cz 时间DIA(Digitální a informationační agentura) eIDAS 信托列表
丹麦dk/页:1Digitaliseringstyrelsen(丹麦数字政府机构) eIDAS信托名单
爱沙尼亚ee/用户RIA - SK ID解决方案/Zetes(eIDAS)
芬兰fi//无Traficom (Liikenne- ja viestintävirasto) eIDAS信任列表 / DVV FINEID
法国fr//fr (英语)ANSI eIDAS 信任列表(~20 QTSP)
德国de/减Bundesnetzagentur (BNetzA) eIDAS 信托名单
希腊gr/(单位:千美元)EETT(希腊电信和邮政委员会) eIDAS信托名单
匈牙利hu/嘘NMHH(国家媒体和信息和通信管理局) eIDAS 信托名单
意大利it/开始AGID eIDAS 信任列表 (~25 QTSPs) + CIE 国家 eID
拉脱维亚lv//lv 数据DDUK (Digitālās derošības uzraudzības komiteja) eIDAS信托列表 / LVRTC ePARaksts
立陶宛lt/编号RRT(Ryšių reguliavimo tarnyba) eIDAS 信托名单
荷兰nl/没有RDI( Rijksinspectie Digitale Inforstructuur) eIDAS 信任列表
挪威no/没有Nkom (Nasjonal kommunikasjonsmyndighet) eIDAS 信任列表
秘鲁pe//peINDECOPI-IOFE (RENIEC,ONPE,ECERNEP) 互联网档案馆的存檔,存档日期2013-12-11
波兰pl//时间NCCert (Narodowe Centrum Certyfikacji) / NBP eIDAS 信托列表
葡萄牙pt/备注GNS — Autoridade Credenciadora / SCEE eIDAS 信托名单
瑞典se/内容PTS (后- och telestyrelsen) eIDAS 信任列表

更多的国家经过每个国家的促进审查后进行舞台和土地开发:墨西哥、哥伦比亚、智利、厄瓜多尔、乌拉圭、巴拿马和其他欧洲信任的名单。 意大利的完全合格签字名单(229份认证-QTSP CA),德国的(101份认证-QTSP CA),希腊的(105份认证-QTSP CA),法国的(79份认证-QTSP CA),荷兰的(30份认证-QTSP CA),比利时的(52份认证-QTSP CA),奥地利的(39份认证-QTSP CA),葡萄牙的(30份认证-QTSP CA),波兰的(29份认证-QTSP CA),匈牙利的(62份认证-QTSP CA),捷克共和国的(34份认证-QTSP CA),挪威的(26份认证-QTSP CA),芬兰的(12份DV/VRK FINEID CA),立陶宛的(11份认证-QTSP CA),瑞典的(8份认证-QTSP CA),丹麦的(5份认证-QTSP CA),以及拉脱维亚的(5份认证-QTSP CACA),现在的(通过欧盟的 scripts/monitors/verify-eu-tsl.mjs) (中文(简体) ).

全球/组织主播

除了国家公用钥匙基础结构之外,目录还反映了全球组织认同的根源 anchors/。 。 。 . 第一个 格莱夫·维莱 (单位:千美元)anchors/gleif-vlei/),GLEIF信任根及其授权 合格 vLEI 发行商, hash-probed和版本控制. vLEI是KERI/ACDC(不是X.509),被钉住 作为 AID 密钥状态而不是 CA 证书。 我们照着GLEIF出版的 而不是 签发或担保任何证书。 见 信任.atestto.org/gleif。 。 。 .

关键概念

证书清单

每个国家有一个 manifest.json 列出所有证书及其散列和元数据:

[
  {
    "filename": "root-ca.pem",
    "sha256": "a1b2c3...",
    "subject": "CN=CA RAIZ NACIONAL - COSTA RICA v2, ...",
    "issuer": "CN=CA RAIZ NACIONAL - COSTA RICA v2, ...",
    "validFrom": "2015-07-09",
    "validTo": "2035-07-09",
    "role": "root"
  },
  ...
]

用这个来审核所安装的内容,并对照发证机关公布的存储库进行核查.

审计线索

每一个加入、旋转或退休的证书都是一种git承诺,并附有明确的信息,说明变化和原因。 完整的git历史是证书生命周期的真相来源.

git log --follow countries/cr/current/

仓库布局

attestto-trust/
├── README.md                      ← you are here
├── scripts/
│   ├── extract-chain-from-pdf.mjs ← extract certs from signed PDFs
│   ├── generate-exports.mjs       ← regenerate JS/TS exports from PEM files
│   └── refresh-manifest.mjs       ← regenerate manifest.json + chain.pem
├── countries/
│   └── <iso2>/
│       ├── README.md              ← country-specific notes + CA hierarchy
│       ├── current/               ← certs currently active
│       │   ├── *.pem
│       │   ├── chain.pem          ← all-in-one bundle
│       │   └── manifest.json      ← sha256, subject, issuer, valid dates
│       ├── archive/               ← superseded certs, kept forever
│       └── samples/               ← signed docs (when redistributable)
└── .github/workflows/verify.yml   ← CI: verify all cert hashes on every push

使用证书

滚入你的信托店

git clone https://github.com/Attestto-com/attestto-trust.git
cp attestto-trust/countries/cr/current/*.pem your-app/trust-store/cr/

对照捆绑校验

openssl verify -CAfile attestto-trust/countries/cr/current/chain.pem some-signer.pem

在使用前验证证书的散列

sha256sum attestto-trust/countries/cr/current/root-ca.pem
# compare against attestto-trust/countries/cr/current/manifest.json sha256 field

更新现有国家

当发证机关旋转一个证书(根或中间)时:

  1. 移动旧 PEM 从 countries/<iso2>/current/ 输入 countries/<iso2>/archive/<year>/
  2. 将新的 PEM 投入 countries/<iso2>/current/
  3. 运行 node scripts/refresh-manifest.mjs ——重建 manifest.json + 键 chain.pem
  4. 运行 node scripts/generate-exports.mjs ——再生JS出口+ .d.ts 类型
  5. 提交明确消息 : "克:旋转 CA SINPE Personsona FISICA v2 → v3, 过期2032"
  6. 推开

添加一个国家

mkdir -p countries/<iso2>/{current,archive,samples}

# Extract intermediates from any signed sample document for that country
node scripts/extract-chain-from-pdf.mjs ~/Downloads/some-signed.pdf /tmp/out

# Inspect, then move the relevant intermediates into countries/<iso2>/current/
cp /tmp/out/*.pem countries/<iso2>/current/

# Generate manifest + chain.pem + JS exports
node scripts/refresh-manifest.mjs
node scripts/generate-exports.mjs

# Write country-specific notes + CA hierarchy diagram
vi countries/<iso2>/README.md

# Commit
git add countries/<iso2> index.js
git commit -m "<iso2>: initial trust mirror — N certs"

更新此 README 中的国别表格并打开拉动请求 。 线人会核实所有的散乱.

出版发行

软件包以 npm 的形式发布 @attestto/trust。当证书设定更改时公布(添加了一个国家,或者换了证书).

  1. 启用证书更改 main 并证实CI是绿色的.
  2. 跳出这个版本
    npm version patch   # or: npm version minor
    
  3. 出版(范围包要求公众查阅); prepublishOnly 首先运行测试套房 :
    npm publish --access public
    
  4. 按下版本承诺并标记 :
    git push --follow-tags
    

永远不要重现已有的版本——先突起. 这个 files 允许列表 package.json 只有JS出口、PEM和清单(没有脚本、样本或档案).

限制

我们是 没有 a 证书管理局——我们不签发、重新签发、签署或担保任何证书。 我们是 没有 a OCSP/CRL响应器——撤销具有时间敏感性,直接从签发当局获得。 我们故意不照CRL,因为一个呆板的CRL比没有更糟糕. 如果我们的镜像不同意发证机关公布的寄存器,权威来源就会取胜——打开一个问题,我们会解决.

生态系统

还原作用关系
attestto-verify网络校验组件使用这些信任根进行签名验证
attestto-desktop桌面签名人/核查人对照这些根来验证文件
attestto-anchor索拉纳散列锚地锁定身份和签名元数据
cr-vc-schemas哥斯达黎加证书计划定义 vLEI/ Firma 数字签名机制

用 LLM 构建

这回转船a llms.txt 上下文文件——由AI编码助理阅读的API,数据结构,和集成模式的机器可读摘要.

使用 attestto-dev-mcp 给您的 LLM 主动访问生态系统的服务器 :

cd ../attestto-dev-mcp
npm install && npm run build

然后把它加入你的克洛德 / Cursor / Windsurf 配置并问:

探索生态系统,帮助我建立[这个组成部分]

哪个模特儿?

我们建议 克劳德 赞成 (5×用法与免费)或更高. 长的上下文和强的TypeScript推理很好地处理这个代码库. MCP服务器与任何支持工具使用的LLM合作.

快速开始 : 请您读 LLM llms.txt 中,然后描述您想要构建的东西。 它会找到合适的型号, 生成锅炉板, 并带你穿过第一次运行.

捐款

我们欢迎各方的贡献。 要添加一个国家, 请按照上面的布局打开 PR 。 CI 将自动验证所有证书散列 。 关于信任根或公用钥匙基础结构等级的问题,请在打开一个问题时参考发证当局已公布的存储处.

许可证

证书是国家签发当局公布的公用钥匙X.509;可自由再分配。 脚本和文档为Apache-2.0. 见 自由主义。 。 。 .


证明: 维护者 证明 作为国家数字身份基础设施公益工作的一部分。 见 https://attestto.org/ark (中文(简体) )。 。 。 .

如果你找到一个丢失、过期或错失的证书, 用一个签名文件样本打开一个问题, 我们可以从中提取, 我们会把它弄进去.

版本与发布记录

@attestto/trust 共发布 4 个版本,首次发布于 2026/07/23;过去 12 个月发布了 4 个版本。

版本发布日期距今
1.3.0latest2026/07/243 个月前
1.2.02026/07/243 个月前
1.1.02026/07/243 个月前
1.0.02026/07/233 个月前

关于 @attestto/trust 的常见问题

@attestto/trust 是什么?

国家数字签字基础设施X.509信托主机的独立公共镜像(整个拉丁美洲、北美和欧盟/欧洲经济区27个国家),加上GLEIF vLEI组织-信任根基。 (原始内容存档于2018-03-21). Live Directory at trust.attestto.org.

如何安装 @attestto/trust?

在项目目录运行 npm install @attestto/trust,或使用 pnpm add / yarn add / bun add。

@attestto/trust 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@attestto/trust 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@attestto/trust 可以商用吗?

@attestto/trust 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@attestto/trust 的下载量有多少?

根据 npm 官方下载统计,@attestto/trust 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,545 次,日均约 85 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@attestto/trust 还在维护吗?

最新版本 1.3.0 发布于 2026/07/24(3 个月前);至今共发布 4 个版本,其中过去 12 个月发布了 4 个;首次发布于 2026/07/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。