我想用我自己的Authenticode时间戳服务为我的DLL文件加时间戳。这个是可能的吗?我怎样才能做到这一点呢?
发布于 2013-05-22 23:45:35
您可以开发自己的时间戳服务。您可以编写TSP (RFC3161)服务器,但是Authenticode不使用RFC3161,而是使用MSDN article中描述的PKCS#7/PKCS#9格式(也可以实现)。我们的SecureBlackbox组件包括支持这两种格式的时间戳服务器组件。更新: Authenticode的最新更新使用标准的RFC3161时间戳。
但问题是获取证书,您将使用该证书来签署时间戳。此证书必须由其中一个CA颁发,据我所知,对于运行时间戳服务器的管理和基础架构方面存在严格的要求。特别是,您需要有一个安全的时间戳硬件。我没有深入研究这个问题,但这些方面比编写一段代码复杂得多。
不过,如果您运行自己的PKI基础结构(拥有自己的受信任根证书和CA证书),那么拥有受信任的时间戳证书的问题就会自动解决--您可以生成自己的证书。
发布于 2012-07-03 21:46:05
您需要编写一个自定义的HTTP时间戳服务器。它应该遵循RFC 3161时间戳协议(TSP)规则。
当您使用Windows SDK中的Signtool.exe之类的工具为身份验证代码的DLL签名时,您可以指定时间戳服务器的url (使用/t swich。另请参阅/tr和/td)。然后,您将指向您的服务器。
在这里查看一个相关的问题:Trusted Timestamps - understanding the format (rfc3161)
发布于 2016-04-15 23:11:04
您可以使用SignServer设置自己的支持Authenticode时间戳(和/或RFC#3161)的时间戳颁发机构(TSA)。
有关下载和安装说明,请参阅https://www.signserver.org。总而言之,重要的步骤是:
确保您有pre-requisites:
- Java
- An application server (i.e. WildFly)
- Apache Ant for deploying
- For HTTPS (optional)
- To make web services work
- Patch with the latest security fixes
- Set database.name=nodb and database.nodb.location=/an/empty/folder/as/db in conf/signserver\_deploy.properties
- export APPSRV\_HOME=/opt/wildfly-9/
- bin/ant deploy
- Start application server /opt/wildfly-9/bin/standalone.sh
- bin/signserver getstatus brief all
- bin/signserver setproperties doc/sample-configs/keystore-crypto-configuration.properties
- bin/signserver reload 1
- bin/signserver getstatus brief all
- bin/signserver setproperties doc/sample-configs/qs\_timestamp\_configuration.properties
- bin/signserver reload 2
- bin/signserver getstatus brief all
- bin/signclient timestamp [http://localhost:8080/signserver/process?workerName=TimeStampSigner](http://localhost:8080/signserver/process?workerName=TimeStampSigner)
https://stackoverflow.com/questions/11233659
复制相似问题