巴士下载站 / 汇聚当下最新最酷的软件下载站!
巴士下载站
您的位置: 首页 >软件下载 > 应用软件 > 时钟日历 > 时间戳签名库以及本地Demo服务器(可以倒填时间制造有效签名)

巴士为您推荐: 时间戳 签名库 Demo服务器 倒填时间 有效签名

主要作用就是让系统认为某个程序是在证书过期/吊销之前被签名的,通过系统的签名验证。

我原本没想要发布这个单独的时间戳程序,但是有很多人问我有关时间戳的问题,因此就把原来Java写的代码翻译到CSharp,做了一个时间戳的库和它的Demo。

代码已开源,在 https://github.com/JemmyLoveJenny/TimeStampResponder-CSharp

时间戳签名库以及本地Demo服务器(可以倒填时间制造有效签名)下载

自建时间戳服务器只需要一张自签名的时间戳证书和对应的私钥和证书链。

时间戳证书必须是X509v3证书,包含标记critical的ExtendedKeyUsage属性,ExtKU只允许证书用于时间戳签名。

证书文件如果不是自签名的,则还需要包含证书链。子证书在最上面,CA证书在最下面,就像部署SSL证书链那样操作。

私钥文件必须使用PKCS#1编码保存,PKCS#8无法识别。

Github和Release中都有从我PKI中签发出的时间戳后证书,可以作为一个证书的样板。

虽然我的证书默认不受信,但是我还是不希望你们滥用它。

本地时间戳服务器的地址是 //localhost/TSA/ 注意!这个Demo真的只是一个本地的使用的程序,不能作为时间戳服务器。

我设置了只能从localhost访问,局域网内其他电脑访问不到时间戳服务。甚至用127.0.0.1或者::1都不可以!

Demo可以和IIS共用80端口,如果有Apache或者Nginx这类服务器绑定了80端口,那么Demo就无法正常启动,表现为要求以管理员运行。

时间戳签名库以及本地Demo服务器(可以倒填时间制造有效签名)下载

程序使用HttpListener组件实现简单的HTTP服务,因此必须要求以管理员权限运行

程序成功运行后,这个地址支持 Authenticode 和 RFC3161 时间戳,也就是说,在微软signtool中使用 /t "<URL>" 或者 /tr "<URL>" 都是可以的,可以根据自己的需要打不同协议的时间戳 (Authenticode时间戳兼容性比较好,支持XP)

时间戳签名库以及本地Demo服务器(可以倒填时间制造有效签名)下载

自定义时间的话,就是在地址后面加上希望的时间(UTC时间,需要转换时区)。

格式为"yyyy-MM-dd'T'HH:mm:ss"

北京时间是UTC+8,所以地址后面的时间需要减掉8小时才能变成UTC时间。

举几个例子:(SHA1还是SHA256根据自己需要修改,以下就全部用SHA1举例)

北京时间 2011-04-01 08:00:00,对应的时间戳地址是 //localhost/TSA/2011-04-01T00:00:00

北京时间 2019-03-10 10:25:34,对应的时间戳地址是 //localhost/TSA/2019-03-10T02:25:34

然后打时间戳就用微软的signtool,命令为 【signtool timestamp /t "<URL>" <filename>】

如果是双签名,另加/tp参数指定签名序号,打两次时间戳【signtool timestamp /tp <index> /tr "<URL>" <filename>】

比如说,给我要给 test.exe 单签名打2011-04-01 08:00:00的时间戳,完整命令为 【signtool timestamp /t "//localhost/TSA/2011-04-01T00:00:00" test.exe】

如果 test.exe 有双签名,首先执行上一条命令,然后再用【signtool timestamp /tp 1 /tr "//localhost/TSA/2011-04-01T00:00:00" test.exe】给第二个签名打时间戳

注意!自定义的时间戳日期最好接近证书的颁发时间,因为大部分泄露的证书已经被CA吊销,自定义的时间必须在证书吊销之前才能通过驱动签名验证!

下载

猜你喜欢
回顶部 去下载