-
Notifications
You must be signed in to change notification settings - Fork 0
License
2829969554/MODPKICA
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Old_Code 文件夹是旧版本源码( 2025年5月份以前的版本),
虽然不符合编写规范但是功能没有任何问题。
目前代码库已经提交了符合规范的标准模块式代码,
以后只维护MODPKICA 6.0以后的版本。
当前路径MODPKICA系统根目录
--------------------------------
本文件解释当前路径目录下的文件作用和结构
****************************************************************
类型 名称 描述
----------------------------------------------------------------
文件夹 PKI 该文件夹作用是存放MODPKICA系统的各种数据文件的组织架构文件
具体请查看文件夹内ReadMe.txt描述文件
文件夹 SourceCode 该文件夹作用是存放MODPKICA系统的源代码
具体请查看文件夹内ReadMe.txt描述文件
文件夹 test 该文件夹作用是存放一些将来新功能、例子的源代码、杂七杂八的文件等
-----------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
文件 ADMIN.exe 该文件是控制台程序,作用是全权管理MODPKICA系统 可直接打开
init ------------------------------------初始化环境签发根证书ROOT
(执行本操作后将自动化自动执行initOCSP和initTIMSTAMP)
initOCSP --------------------------------初始化OCSP响应签名专用证书
请运行init后再运行initOCSP
initTIMSTAMP ----------------------------初始化TSA时间戳签名专用证书
(人工操作,可空参数SHA1 或 SHA256)指定算法更新,默认两者同时更新
list ------------------------------------查看所有证书 序列号、证书状态
makeroot --------------------------------签发新根证书(ROOT)-同时存在多个根证书
signCERT --------------------------------签发下级证书 控制台流程
支持签发EV级扩展验证证书
可以签发任何类型目的的证书
RevokeCERT ------------------------------吊销证书 控制台流程
signCRL ---------------------------------签发吊销列表 预留人工签发吊销列表,
目前会自动化运行,无需人工操作
verifyCERT ------------------------------验证证书
验证证书是否为本系统签发的证书
VERSION ---------------------------------查看当前MODPKICA版本号
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
文件 MAIN.exe 该文件是MODPKICA系统基础设施,提供外部网络访问 直接打开
部署服务联机证书状态协议 (1.3.6.1.5.5.7.48.1)
部署服务证书颁发机构颁发者 (1.3.6.1.5.5.7.48.2)
部署服务证书吊销列表分发点 CRL Distribution Point
部署网页自动化系统、后台接口、自动化签发证书吊销列表
自动化应答OCSP请求、发出OCSP响应
时间戳服务RFC3631(已实现)和Authenticode(已实现)
提供CTLOG服务 证书透明度日志服务器(此功能目前未实现)
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
文件 MAKEROOT.exe 该文件是初始化环境、签发全新的根证书和根密钥
控制台问答流程自动化完成,可重复初始化
请勿直接打开 1.需要使用ADMIN.exe发起控制台流程
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
文件 MAKECERT.exe 该文件是签发中间CA证书和最终用户证书专用
请勿直接打开 1.需要使用ADMIN.exe 发起控制台流程
2.打开MAIN.exe 使用浏览器访问可视化网页
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
文件 rootGETcrl.exe 该文件作用是签发证书吊销列表 可直接打开
直接打开后将会读取CERTS.txt并在/PKI/WebPublic/CRL/目录下
建立最新新的证书吊销列表文件root.crl
正常情况下无需人工点击,MAIN.exe会自动化执行操作
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
文件 CERTVERIFY.exe 该文件作用是验证X509证书,输出证书信息 可直接打开
用法 : CERTVERIFY.exe xxx.crt || CERTVERIFY.exe xxx.cer
-------------------------------------------------------------------
-------------------------------------------------------------------
-------------------------------------------------------------------
文件 ResetExe.cmd window平台的脚本 作用一键清空MODPKICA系统中的各种可执行文件exe
-------------------------------------------------------------------
文件 ResetData.cmd window平台的脚本 作用一键清空MODPKICA系统中的各种数据
-------------------------------------------------------------------
文件 ResetExe.sh linux平台的脚本 用法:在终端中运行;作用一键清空MODPKICA系统编译出来的各种可执行文件
-------------------------------------------------------------------
文件 ResetData.cmd linux平台的脚本 用法:在终端中运行;作用一键清空MODPKICA系统中的各种数据
-------------------------------------------------------------------
文件 修复启动权限.sh linux平台的脚本 用法:在终端中运行;
作用 #非root用户模式下,运行./MAIN 会报错,无权限监听80端口
请到PKI/CONFIG.txt文件中修改端口信息,非80端口可以无需运行此脚本
-------------------------------------------------------------------
文件 ReadMe.txt 你正在查看........
-------------------------------------------------------------------
建立时间2023年12月9日 22:33 作者:@魔帝本尊 QQ:2829969554
**********************************************************************
最新版本: MODPKICA 6.0 202508062240
更新日志:
2025年08月06日 22:40
1.SourceCode\golib路径下增加smocsp\smocsp.go文件(此文件由SourceCode\golib\ocsp\ocsp.go改进而来),用于生成OCSP响应数据,使用SM2签名,SM3数据摘要。
2.MAIN.go增加 HTTP SM2 OCSP响应应答接口
2025年07月04日 23:56
1.SourceCode\golib\ocsp\ocsp.go文件添加全局扩展:responseData结构体加入 Extensions []pkix.Extension `asn1:"explicit,tag:1,optional"`
我做出部分代码调整,因为原 suijiNonce 位置不符合RFC6960标准,期望 Nonce 出现在响应的 responseExtensions 区域,但我将其放在了 Response Single Extensions(单证书扩展区域)。
2025年06月27日 23:42
1.PKIX.go加入以下OID参数
1.3.6.1.4.1.311.60.2.1.1 注册城市,例如:Hong Qiao
1.3.6.1.4.1.311.60.2.1.2 注册地区,例如:Shanghai
1.3.6.1.4.1.311.60.2.1.3 注册国家,例如:CN
2.5.4.97 注册组织唯一编码,例如:123BHJ85264456
2.ADMIN.go对EVTYPE参数进行以下调整,businessCategory(2.5.4.15)支持四种参数:
Private Organization (私营组织)
Government Entity (政府机构)
Business Entity (商业实体,如合伙、国企等)
Non‑Commercial Entity (非商业实体,如国际组织)
3.Signcert生成用户证书问答流程进行微调....
2025年06月15日 22:12
1.优化CERTVERIFY.go中证书透明度列表显示和签名验证的逻辑。
2025年06月11日 21:53
1.修复MAKEROOT.go中priid与subid的计算方法,原本是DER编码公钥的sha1值。
通过elliptic.Marshal将 ECDSA证书的priid与subid的计算方法算法修改为RFC-SHA1。
通过elliptic.Marshal将 SM2证书的priid与subid的计算方法算法修改为RFC-SHA1。
2.修复MAKECERT.go中priid与subid的计算方法,原本是DER编码公钥的sha1值。
现修改为rfc-sha1(RSA、ECDSA、SM2同时修正)。
2025年06月09日 22:50
1.修复MAKEROOT.go中priid与subid的计算方法,原本是DER编码公钥的sha1值。
今天将RSA算法证书的priid与subid的计算方法修改为RFC-SHA1。
2025年05月04日 22:15
1.由于多个用户反馈 golib 复制到 GO_HOME 不合理,按照规范不允许修改标准库。
我定义项目根目录包名为modpkica,golib下的模块需要以modpkica.xxx的形式在代码中引用。
我发布新版本源码,MODPKICA 6.0 202505042219
2024年12月07日 17:20
1.修复BUG...
2.发布linux 正式版本
2024年11月28日 20:00
1.CERTVERIFY.go文件第639行加 continue;
作用屏蔽这个小方块,有BUG,待修复
2024年11月15日 19:41
1.根据以下参考来源调整ctlogs.go中(this *PreCertificateTimestamp_RFC)Bytes()生成预签名数据
参考来源https://blog.pierky.com/certificate-transparency-manually-verify-sct-with-openssl/
待签名数据结构
# sct_version = v1 = 0x00, 1 byte
# signature_type = certificate_timestamp = 0x00, 1 byte
# timestamp = 0x000001459df97d9c, 8 bytes
# entry_type = x509_entry = 0x0000, 2 bytes | 0x00,0x00 = ASN.1Cert;0x00,0x01 = PreCert
# x509_entry = 0x00,0x04,0xE2 前3个字节 length of DER-encoded EE cert, 3 bytes,后面跟着DER编码x509.tbscertificate
# extensions= 0x00,0x00 : none, 0-length, 2 bytes
2024年11月14日 22:26
1.CERTVERIFY.go增加RFC可信签名证书时间戳签名验证的流程
2024年11月11日 16:25
1.CERTVERIFY.go ShowPkixEXP()函数 增加签名验证的流程
2.sct.go 修复BUG....
2024年11月10日 21:29
1.CERTVERIFY.go 加入ShowPkixEXP()函数
2.sct.go 修复BUG....
2024年11月03日 17:01
1.原test文件夹改名为 1.生成SM2证书例子
2.新添加例子 2.Go国密SSL和国际SSL自适应https服务例子
3.golib\tjfoc\gmsm 加入curve25519模块
2024年10月31日 18:48
1.MAKECERT.go CERTVERIFY.go 增加以下增强型密钥用法
0:任何目的 1:服务器身份验证(SSL) 2:客户端身份验证(SSL)
3:代码签名 4:电子邮件保护 5:IPSec端系统
6:IPSec隧道模式 7:IPSec用户模式 8:时间戳签名
9:OCSP响应签名 10:Microsoft服务器加密 11:Netscape服务器加密
12:Microsoft商业代码签名 13:Microsoft内核代码签名 14:Windows 硬件驱动程序验证
15:Windows 系统组件验证 16:OEM Windows 系统组件验证 17:内嵌 Windows 系统组件验证
18:域名系统(DNS)服务器信任 19:系统健康身份认证 20:已吊销列表签名者
21:KDC 身份认证 22:生存时间签名 23:私钥存档 24:合格的部署
25:密钥恢复 26:文档签名 27:Microsoft 时间戳 28:加密文件系统
29:密钥恢复代理 30:目录服务电子邮件复制 31:IP 安全 IKE 中级
32:文件恢复 33:根列表签名者 34:数字权利 35:CTL 用法
36:密钥数据包许可证 37:许可证服务器验证 38:证书申请代理
39:智能卡登录 40:智能卡验证 41:智能卡证书验证 42:智能卡信任使用
43:Apple CodeSing 代码签名 44:Apple Development CodeSing 开发者代码签名
45:Apple Resource Signing 资源签名 46:Apple Ichat Signing Ichat签名
2.CERTVERIFY.go支持实时获取OCSP状态,显示吊销时间,吊销原因等.
2024年10月28日 19:13
1.CERTVERIFY.go 美化输出信息的可读性、实现了RSA、ECC、SM2三种算法的证书信息查看。
2.支持验证证书中嵌入的签名,签名验证中增加了哈希算法md5、sha1、sha256、sha384、sha512、sm3。
3.目前支持实时查看证书状态,是否被撤销,撤销原因,撤销时间等信息...
2024年10月27日 14:55
1.数字证书 加入x509扩展CTLog PublicKey (1.36.1.4.1.11129.2.4.5)
这里嵌入签发SCT列表的公钥,这个公钥用于验证SCT列表签名。因为浏览器不会内置咱们自己生成的时间戳签名公钥,所以需要嵌入到生成的证书中。
2.admin.go 加入证书文件verify功能,并且支持验证SCT列表的签名,CRL列表,OCSP信息
2024年10月26日 14:08
1.修复签名SCT列表 ASN.1 DER编码格式一些小问题
2.SCT列表 目前支持1 - 6 份日志信息
2024年10月22日 19:30
1.修复关于交叉签名时一些小BUG
具体表现为 SM2证书不能以SM2withSM3不能为RSA和ECC进行交叉签名 得签名算法得使用使SM2withSHA1 或者SM2withSHA256
2024年10月21日 23:56
1.兼容RSA ECC SM2 SM2 证书修复签名错误的BUG
2.修复BUG 修复代码兼容SM2时RSA创建失败的问题
3.golib 文件夹中modcrypto中的x509.go 和tjfoc中的utils.go 需要代码更新
4.rootGETcrl.go 目前支持自动生成 RSA、ECC、SM2这三种签名算法的证书吊销列表
5.MAIN.go OCSP在线证书协议目前支持RSA、ECC两种算法,即将支持SM2国密算法
6.admin.go 控制台signCert流程支持交叉签名,交叉认证 1. RSA->ECC RSA->SM2 RSA->RSA
2. ECC->ECC ECC->SM2 ECC->RSA 3. SM2->ECC SM2->SM2 SM2->RSA
2024年10月20日 20:10
1.新增功能 MAKEROOT.go 创建RSA ECC 国密 根证书 ,目前支持以下参数
RSA :1024 2048 3072 4096 5120 6144 7168 8192
ECC:ECDSA-224 ECDSA-256 ECDSA-384 ECDSA-521
国密:SM2-SM3
2.新增功能 证书透明度日志列表 自定义证书策略信息
3.优化文件系统组织架构
2024年09月16日 11:01
1.BUG 修复 CreateCertificate()函数创建的SM2证书 签名错误的问题
2024年08月21日 21:41
1.加入生成 ECC证书吊销列表,SM2证书吊销列表的功能
2.例子 makecrlofsmecc.cmd一键启动编译 ecccrl.go smcrl.go 基于上次更新demo_ecc demo_sm的国密证书
2024年08月18日 14:40
1.加入ECC算法 P256 P384 P512
2.加入国密算法 SM2 SM3 SM4 等...
3.目前支持demo_ecc demo_sm 构建X509国密证书,即将更新MODPKICA架构
2024年04月14日 18:22
1.OCSP在线证书协议修复BUG..
2.整合Authcode时间戳和RFC3161时间戳统一地址:http://localhost/timestamp
(此链接同时支持SHA1和SHA256)
3.MODPKICA系统从此版本支持同时兼容多个中间CA..
4.接下来将会加入导入现有根证书链的功能,实现多个根链......
2023年12月13日 01:45
1.增加RFC3161 Document文档签名时间戳
http://localhost/rfc3161
2.时间戳签名证书 增强型密钥用法 加入了Critical,符合RFC3161国际标准
2.修复一些小BUG
2023年12月10日 20:02
1.增加TSA时间戳服务器 支持Authenticode类型 SHA1 SHA256
SHA256:http://localhost/timestamp
SHA1:http://localhost/timestamp/sha1
2.修复一些小问题
2023年12月9日 22:33 上传GITEE GITHUB代码库
1.大部分功能
2023年12月2日 15:00 本地建立项目
本项目为作者在学习X.509证书系统知识时边学习边开发,只供学习,不承担由此产生的一切不良问题
另外,我肚子好饿,后悔学编程了。。。。。希望有大佬支持打赏一顿饭About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published