# signer-tools **Repository Path**: leijacob/signer-tools ## Basic Information - **Project Name**: signer-tools - **Description**: sign tools - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-12 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OFD/PDF 签名工具包 这是一个基于 Go 语言开发的 PDF 和 OFD 电子文档签名工具包,旨在提供符合中国国家标准的电子签名解决方案。 ## 功能特性 - **PDF 签名**: 支持标准的 PDF 电子签名。 - **OFD 签名**: 支持 OFD (Open Fixed-layout Document) 电子签名,符合 GB/T 33190-2016 标准。 - **国密算法支持**: 集成了以下国密算法标准,确保签名过程的安全性与合规性: - **GB/T 35275 (GMT 0031)**: 电子印章密码应用技术规范。 - **GB/T 38540**: 基于SM2算法的数字证书签名。 - **GMT 0031**: 电子印章数据格式规范。 ## 项目结构 ``` ofd-tools/ ├── gbt35275/ # GB/T 35275 (GMT 0031) 相关实现 ├── gbt38540/ # GB/T 38540 相关实现 ├── gmt0031/ # GMT 0031 相关实现 ├── ofd/ # OFD 相关模块 │ ├── reader/ # OFD 文件读取器 │ ├── signer/ # OFD 文件签名器 │ └── writer/ # OFD 文件写入器 ├── pdf/ # PDF 相关模块 │ └── signer/ # PDF 文件签名器 ├── p1signer/ # P1 签名器接口及实现 ├── testfile/ # 测试文件和示例 ├── go.mod # Go 模块定义文件 ├── go.sum # Go 模块依赖校验文件 └── main.go # 主程序入口或示例 ``` ## 快速开始 ### 安装依赖 ```bash go mod tidy ``` ### 运行示例 具体示例请参考 `main.go` 或 `testfile/` 目录下的测试用例。 ## 使用方法 ### PDF 签名 ```go // 示例代码,具体实现请参考 pdf/signer 模块 // import ( // "github.com/your-repo/ofd-tools/pdf/signer" // ) // // func main() { // signer := pdfsigner.NewPDFSigner(...) // signer.Sign("input.pdf", "output_signed.pdf") // } ``` ### OFD 签名 ```go // 示例代码,具体实现请参考 ofd/signer 模块 // import ( // "github.com/your-repo/ofd-tools/ofd/signer" // ) // // func main() { // signer := ofdsigner.NewOFDSigner(...) // signer.Sign("input.ofd", "output_signed.ofd") // } ``` ## 测试 运行所有测试: ```bash go test -v ./... ``` 运行特定模块测试: ```bash go test -v ./ofd/signer go test -v ./pdf/signer ``` ## 许可证 本项目采用 MIT 许可证。详情请参阅 `LICENSE` 文件。