首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何部署自己的Authenticode时间戳服务?

如何部署自己的Authenticode时间戳服务?
EN

Stack Overflow用户
提问于 2012-06-28 03:33:35
回答 5查看 6.9K关注 0票数 7

我想用我自己的Authenticode时间戳服务为我的DLL文件加时间戳。这个是可能的吗?我怎样才能做到这一点呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-22 23:45:35

您可以开发自己的时间戳服务。您可以编写TSP (RFC3161)服务器,但是Authenticode不使用RFC3161,而是使用MSDN article中描述的PKCS#7/PKCS#9格式(也可以实现)。我们的SecureBlackbox组件包括支持这两种格式的时间戳服务器组件。更新: Authenticode的最新更新使用标准的RFC3161时间戳。

但问题是获取证书,您将使用该证书来签署时间戳。此证书必须由其中一个CA颁发,据我所知,对于运行时间戳服务器的管理和基础架构方面存在严格的要求。特别是,您需要有一个安全的时间戳硬件。我没有深入研究这个问题,但这些方面比编写一段代码复杂得多。

不过,如果您运行自己的PKI基础结构(拥有自己的受信任根证书和CA证书),那么拥有受信任的时间戳证书的问题就会自动解决--您可以生成自己的证书。

票数 6
EN

Stack Overflow用户

发布于 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)

还有:Alternative timestamping services for Authenticode

票数 6
EN

Stack Overflow用户

发布于 2016-04-15 23:11:04

您可以使用SignServer设置自己的支持Authenticode时间戳(和/或RFC#3161)的时间戳颁发机构(TSA)。

有关下载和安装说明,请参阅https://www.signserver.org。总而言之,重要的步骤是:

确保您有pre-requisites:

代码语言:javascript
运行
复制
- Java
- An application server (i.e. WildFly)
- Apache Ant for deploying

  1. https://signserver.orghttps://sourceforge.net/projects/signserver/files/signserver/4.0/下载4.0版本。
  2. 配置应用程序服务器

代码语言:javascript
运行
复制
- For HTTPS (optional)
- To make web services work
- Patch with the latest security fixes

  1. Configure SignServer deployment

代码语言:javascript
运行
复制
- Set database.name=nodb and database.nodb.location=/an/empty/folder/as/db in conf/signserver\_deploy.properties

  1. Deploy SignServer

代码语言:javascript
运行
复制
- export APPSRV\_HOME=/opt/wildfly-9/
- bin/ant deploy
- Start application server /opt/wildfly-9/bin/standalone.sh

  1. 检查服务器是否启动了

代码语言:javascript
运行
复制
- bin/signserver getstatus brief all

  1. 设置加密令牌

代码语言:javascript
运行
复制
- bin/signserver setproperties doc/sample-configs/keystore-crypto-configuration.properties
- bin/signserver reload 1
- bin/signserver getstatus brief all

  1. 设置示例时间戳签名者

代码语言:javascript
运行
复制
- bin/signserver setproperties doc/sample-configs/qs\_timestamp\_configuration.properties
- bin/signserver reload 2
- bin/signserver getstatus brief all

  1. 测试时间戳签名者

代码语言:javascript
运行
复制
- bin/signclient timestamp [http://localhost:8080/signserver/process?workerName=TimeStampSigner](http://localhost:8080/signserver/process?workerName=TimeStampSigner)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11233659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档