正在自动登录…
← 返回项目列表Administracion-Abierta/
Administracion-Abierta/ AutoFirme
这是一个在浏览器中运行的文档签名和验证工具,支持X.509证书,无需后端,私钥不会离开客户端。适用于需要签署或验证PDF、XML等文档的用户,特别是西班牙政府相关场景。
AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/16 00:46:25 · 查看原文
- 累计 Stars
- 90
- 当前热度
- 未达当前门槛
- 仓库创建时间
选用指南
AI 根据 README 整理 · 2026/10/16 00:46:25
- 使用方式
通过浏览器访问,支持拖放文件进行签名或验证,也可作为PWA安装使用。
查看 README 依据
| `src/routes/` | Pages — `/` is the sign flow | | `src/lib/App.svelte` | Sign workflow shell (2/3 drop + file list, 1/3 sticky actions on ≥1024px; stacked below) and verify workflow | | `src/lib/components/` | `FileDrop`, `FileCard`, `CertPicker`, `BatchQueue`, `VerifyReport` | | `src/lib/components/ui/` | shadcn-svelte primitives (button, card, table, badge, input, dropdown-menu, dialog, tooltip) + their snapshot test (#27) | | `src/lib/utils.ts` | `cn()` class merger used by the primitives | | `components.json` | shadcn-svelte CLI config (`#lib` aliases, neutral base, `src/app.css`) |
Build context is the repo root: ```bash docker build -f Containerfile -t autofirme-web . docker run --rm -p 8080:80 autofirme-web # http://localhost:8080/ ``` Multi-stage: `node:22-alpine` builds the static site, `caddy:2-alpine` serves it with the SPA fallback (`try_files {path} {path}/ /404.html`). ## Installable app (PWA) — #47 `pnpm build` emits `build/manifest.webmanifest` and `build/service-worker.js`, and the prerendered HTML registers the worker — all of it SvelteKit's own service-worker support (no plugin, no
- 部署要求
需要现代浏览器支持WebCrypto,构建需要Node 22和pnpm,部署需要HTTPS(localhost除外)。
查看 README 依据
core this rewrite follows, and [AGENTS.md](AGENTS.md) for the repo rules. The app lives at the repo root; from the root: ```bash pnpm install pnpm test pnpm build ``` ## Stack - SvelteKit 3 (static adapter) + Svelte 5 runes + Vite + TypeScript - Tailwind CSS v4 (`@tailwindcss/vite`) - shadcn-svelte components (bits-ui) on the same tokens; dark mode is the `.dark` class on `<html>`, driven by the system preference from an inline script in `src/app.html` (#27) - pnpm, Node 22 for builds - Vitest + `@testing-library/svelte` + jsdom for the smoke test | Path | Contents | |---|---|
the click posts `SKIP_WAITING` and the page reloads once the new worker takes control. Self-hosting notes: - **HTTPS is required** for the service worker (and therefore for install) — the only exception is `http://localhost`. Behind a Cloudflare Tunnel the site is already HTTPS, so there is nothing to configure; on bare nginx/k3s, terminate TLS first. - `.webmanifest` needs `application/manifest+json`. Caddy's Go mime table has no entry for it, so the `Caddyfile` sets it explicitly; on nginx add `types { application/manifest+json webmanifest; }`.
- 已知限制
不支持OCSP/CRL吊销检查、验证传入签名的时间戳和证书策略;仅支持SHA-256算法;签名时仅嵌入签名者证书,不包含证书链。
查看 README 依据
algorithms or transforms are reported as a red check with a reason instead of a silent pass. Revocation (OCSP/CRL), *validating* a timestamp of an incoming signature and certificate policies are out of scope. Timestamps can be **added** when signing, though — see the TSA section below. Fixtures: `bash test/fixtures/generate.sh` rebuilds them (throwaway test PKI, keys gitignored), `bash test/fixtures/verify-fixtures.sh` cross-checks them with `openssl cms -verify` and an independent python digest recomputation. `pnpm test` runs that cross-check as part of the suite. ## Container
is expected there — the signature checks are what it demonstrates. - The report's `certChain` line is printed as it comes. Signing embeds only the signer certificate (#6), so even with the real FNMT keystore — whose container carries `AC FNMT Usuarios` — it reads `issuer certificate not included`, and verifying *your own* fresh `.csig` in the app shows a red *Trust chain* card. Embedding the chain is a separate change. - `--cert work/certs/old-cert.p12` is expected to fail `certValidity`: that keystore expired 2026-03-29 (issue #40 owns the expired-certificate path).
README
正在加载 README…
收录信息
- 仓库创建时间
- 2026/10/15 20:58:42
- 首次达标收录
- 2026/10/16 00:41:37
- 统计更新时间
- 2026/10/22 19:01:07
按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。
模型评估
值得看加权总分 4.1 / 5
由 Jev 模型根据仓库描述与 README 评估,2026/10/16 00:41:37 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。
仓库信息
- 最近推送
- 2026/10/22 09:03:27
- 许可证标识
- 未识别,请查看仓库说明
- Fork 数
- 5
- 当前状态
- 未归档
收录记录
按创建时长与累计 Stars 首次收录:小火
首次发现项目