完整文件,访问 (原始内容存档于2017-03-26) (英语). docs. postguard.eu。 。 。 .
用于 PostGuard 的 SDK 类型脚本/ JavaScript SDK, 以 @e4a/pg-js 时间npm。 在浏览器和Node.js都工作.
PostGuard根据收件人的身份属性(电子邮件地址,电话号码等)而不是传统的公钥加密数据. 接收者通过 义维 来解密。 这个SDK是Web应用程序和电子邮件加载与PostGuard集成的主要方式.
快速启动
npm install @e4a/pg-js
import { PostGuard } from '@e4a/pg-js';
const pg = new PostGuard({
pkgUrl: 'https://pkg.postguard.eu',
});
// Encrypt
const sealed = pg.encrypt({
sign: pg.sign.apiKey('your-api-key'),
recipients: [pg.recipient.email('[email protected]')],
files: fileList,
});
const { uuid } = await sealed.upload();
// Decrypt
const opened = pg.open({ uuid });
const result = await opened.decrypt({ element: '#yivi-popup' });
result.download();
见 完整 API 参考 用于加密选项、签名方法、收件人类型和电子邮件助手.
服务器侧用法(节点、 Bun、 Deno)
SDK 在非浏览器运行时为加密+上传路径工作
签名时通过 sign.apiKey 或习惯 sign.session 调用。 没有
需要进行多填充.
最小运行时间版本数字 :
| 运行时间 | 最低 | 页:1 |
|---|---|---|
| 节点 | 22岁以上 | 通过 engines.node. 构建工具需要22.18+节点;运行时间在22和24日测试. |
| 阿宝 | 1.0.16+ (中文(简体) ) | 首发时间 AbortSignal.any (SDK最紧的网络-API要求) |
| 德诺 | 1.39+ (韩语) | 首发时间 AbortSignal.any |
其他说明:
sign.yivi(...)需要一个 DOM 并且只使用浏览器。 SDK会扔出一个 清除YiviSessionError非浏览器运行时间的前置时间——使用sign.apiKey或者说sign.session换句话说.- 对于解密,
result.blob财务报告和审定财务报表result.plaintext具有普遍性;result.download(...)触发浏览器下载,并且是只浏览器. sealed.upload()拒绝data: ReadableStream——使用sealed.toBytes()流出或通过data作为Uint8Array。 。 。 .
任何运行时间的人工烟雾测试 scripts/smoke.mjs设置
PG_API_KEY 用于操作全上传管道的中键:
PG_API_KEY=PG-... node scripts/smoke.mjs
PG_API_KEY=PG-... bun scripts/smoke.mjs
PG_API_KEY=PG-... deno run -A scripts/smoke.mjs
发展
此软件包生活在 pnpm 工作空间 packages/pg-js。从 repo 根:
pnpm install # runs the prebuild generators + a full build via `prepare`
pnpm build
运行测试 :
pnpm test
监视模式( E)pnpm dev, (中文(简体) ), pnpm test:watch从此目录运行 .
释放
释放由 变化. 应载运运行的公关 pnpm changeset 并输入生成的文件;合并到 main 打开(或更新)“Version包” PR,并合并 那个 以出处发布到 npm.
许可证
麻省理工学院