特别说明:

以下介绍的法国时间戳server已经停止服务了。我曾发Email给相关站点的管理员。对方回复说他也不知道什么时候能恢复服务,有可能就是遥遥无期了。所以以下的内容仅有參考价值。没法实践了。

————————————————————————————————————

在学习RFC 3161 《Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)》时,发现该文档中没有提供详细的演示样例,假设能有详细的样例对比标准学习,效果会好得多。在网上找到了一个法国的时间戳server,网址是:

http://timestamping.edelweb.fr/

该时间戳server是一个实验性的server,提供免费的数字时间戳加盖服务。

要申请时间戳。能够使用下面方法:

1)  假设是在 Windows 平台上,先编译 OpenSSL,生成 openssl.exe 文件。编译生成的 openssl.exe 文件通常位于 out32 文件夹下。

假设是在 Linux 平台上。绝大多数Linux发行版中已经包括名为 openssl 的可运行文件,能够在终端中运行命令 openssl version 来查看 OpenSSL 的版本号,假设系统中已有 OpenSSL 应能显示出版本号号。假设没有则须要下载 OpenSSL 源代码再进行编译。

2)  对一个指定的文件生成时间戳请求文件,假定这个文件名称是 my_text.txt ,生成的时戳请求文件要被命名为 request.tsq。则运行下面命令:

openssl ts -query -data "my_text.txt" -cert -sha1 -no_nonce -out request.tsq

对命令中參数的解释例如以下:

ts  -query 指定生成时间戳请求

-data "my_text.txt"  表示生成请求的数据来自于文件 my_text.txt

-cert 表示时间戳server生成的响应中要包括时间戳server的数字证书

-sha1 表示生成时间戳请求时,使用的杂凑算法是 SHA1,这个參数能够换成 -sha256 等其它杂凑算法的名称

-no_nonce 表示生成的时间戳请求中不须要包括 nonce 这一项

-out request.tsq 指定生成的时间戳请求文件名称是 request.tsq

在 Windows 下运行命令时会有警告信息,可是不影响时间戳请求文件的生成。生成的文件内容是 ASN.1 编码格式的时间戳请求。

3) 这一步仅仅能在 Linux 平台上运行了,运行下面命令:

curl --data-binary @request.tsq --header "Content-Type: application/timestamp-request" -o ts_response.tsrhttp://timestamping.edelweb.fr/service/tsp

运行完之后,会从时间戳server获取到时间戳响应。是一个名为 ts_response.tsr 的文件。

-o ts_response.tsr 參数指定了时间戳响应文件的名称,能够任意命名。获取到的文件是 ASN.1 编码格式的时间戳响应。

对比时间戳请求和时间戳响应再来学习 RFC 3161,对当中的定义就能理解得更清楚了。

介绍一个法国的时间戳server的更多相关文章

  1. 如何写一个简单的Web Server(一)

      在本篇博文中我将介绍如何写一个Web Server.博文中大部分资料我是参考的这篇文章(http://www.linuxhowtos.org/C_C++/socket.htm),英文不错的同学可以 ...

  2. 写了一个简单的CGI Server

    之前看过一些开源程序的源码,也略微知道些Apache的CGI处理程序架构,于是用了一周时间,用C写了一个简单的CGI Server,代码算上头文件,一共1200行左右,难度中等偏上,小伙伴可以仔细看看 ...

  3. 介绍一个非常好用的跨平台C++开源框架:openFrameworks

    介绍一个非常好用的跨平台C++开源框架:openFrameworks 简介 首先需要说明的一点是: openFrameworks 设计的初衷不是为计算机专业人士准备的, 而是为艺术专业人士准备的, 就 ...

  4. 一个有趣的SQL Server 层级汇总数据问题

        看SQL Server大V宋大侠的博客文章,发现了一个有趣的sql server层级汇总数据问题.          具体的问题如下:     parent_id emp_id emp_nam ...

  5. 文件系统:介绍一个高大上的东西 - 零基础入门学习Python030

    文件系统:介绍一个高大上的东西 让编程改变世界 Change the world by program 接下来我们会介绍跟Python的文件相关的一些十分有用的模块.模块是什么?不知大家对以下代码还有 ...

  6. 分析一个socket通信: server/client

    分析一个socket通信: server/client1 server 1. 创建一个server_socket文件,并绑定端口,然后监听端口 (socket, bind, listen) 2. 查询 ...

  7. 编写一个简单的Web Server

    编写一个简单的Web Server其实是轻而易举的.如果我们只是想托管一些HTML页面,我们可以这么实现: 在VS2013中创建一个C# 控制台程序 编写一个字符串扩展方法类,主要用于在URL中截取文 ...

  8. 使用Python创建一个简易的Web Server

    Python 2.x中自带了SimpleHTTPServer模块,到Python3.x中,该模块被合并到了http.server模块中.使用该模块,可以快速创建一个简易的Web服务器. 我们在C:\U ...

  9. 介绍一个axios调试好用的工具:axios-mock-adapter

    上一篇文章中写到用promise时应注意的问题,这一篇文章继续介绍一个可以和axios库配合的好工具: axios-mock-adapter.axios-mock-adapter可以用来拦截http请 ...

随机推荐

  1. Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

    通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...

  2. 【Arduino】2017年电子设计大赛B题 滚球控制系统|板球系统

    今年电赛我们队伍选择的是B题,滚球控制系统.最后我们得到了省特和国一,也算是了结了我大一时的心愿吧.下面对这次比赛进行一下总结,以后回忆起来的时候也有个念想. 滚球控制系统是一个多变量.非线性控制对象 ...

  3. java的linux命令

    1.查找文件find / -name filename.txt 根据名称查找/目录下的filename.txt文件.find . -name “*.xml” 递归查找所有的xml文件2.查看一个程序是 ...

  4. 面向亿万级用户的QQ一般做什么?——兴趣部落的 Web 同构直出分享

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:李强,腾讯web开发工程师商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处.原文链接:http://wetest.qq.co ...

  5. python基础-------模块与包(三)正则表达式

    re模块正则表达式 正则表达式常用符号: [ re模块使用方法]: match(string[, pos[, endpos]]) | re.match(pattern, string[, flags] ...

  6. 原码、反码、补码的正(nao)确(can)打开方式

    我们知道日常生活中使用的数分为整数和实数,整数的小数点固定在数的最右边,可以省略不写,而实数的小数点则不固定.在计算机中只能识别和表示“0”和“1”,而无法识别小数点,因此要想使得计算机能够处理日常使 ...

  7. geotrellis使用(三十五)Cesium加载geotrellis TMS瓦片

    前言 做任何事情都不是想象中的那么简单.好久没有更新技术博客了,跟最近瞎忙有很大关系,虽说是瞎忙也抽空研究了些技术. 主要是前端渲染,像原生的WebGL和Cesium.WebGL写了几篇博客,自我感觉 ...

  8. windows配置caffe + python和matlab接口

    参考: http://blog.csdn.net/baidu_26408419/article/details/53711640 http://www.cnblogs.com/love6tao/p/5 ...

  9. Git详解及 github与gitlab使用

    1.1 关于版本控制 1.1.1 本地版本控制 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别.这么做唯一的 好处就是简单,但是特别容易犯错.有 ...

  10. JavaScript:彻底理解同步、异步和事件循环(Event Loop)

    一. 单线程 我们常说"JavaScript是单线程的". 所谓单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个.不妨叫它主线程. 但是实际上还存在其他 ...