ntp-keygen.c
这个程序产生加密数据文件使用的的密码,遵循Autokey security protocol和NTPv4.文件名被名字和创建时间组成的头部当做前缀,后面跟有一个类型定义的描述符标签和PEM加密的数据结构并且兼容OPENSSL库。
所有的文件名类似"ntpkey_<type>_<hostname>.<filestamp>",此处的<type>代表文件类型,<hostname>即产生文件的主机名并且<filestamp>就是以ntp秒数产生计时的时间。NTP程序期望一个通用的类似"ntpkey_<type>_whimsy.udel.edu"的通过软连接的关系。随后是一系列文件类型,第一行是文件名第二行是链接名。
ntpkey_MD5key_<hostname>.<filestamp>
MD5(128-bit)的密钥用来在对称密钥加密算法中计算消息摘要
ntpkey_RSAhost_<hostname>.<filestamp>
ntpkey_host_<hostname>
RSA private/public host key pair 用在公钥签名中。
ntpkey_RSAsign_<hostname>.<filestamp>
ntpkey_sign_<hostname>
RSA private/public sign key pair用在公钥签名中。
ntpkey_DSAsign_<hostname>.<filestamp>
ntpkey_sign_<hostname>
DSA private/public sign key pair用在公钥签名中。
可用的摘要/签名方案
RSA: RSA-MD2, RSA-MD5, RSA-SHA, RSA-SHA1, RSA-MDC2, EVP-RIPEMD160
DSA: DSA-SHA, DSA-SHA1
ntpkey_XXXcert_<hostname>.<filestamp>
ntpkey_cert_<hostname>
X509v3证书使用RSA或者DSA公钥和签名。XXX是用来识别消息摘要和签名加密算法的码。
识别方案。key type pair被用来做挑战;key type key被用来应答。
ntpkey_IFFkey_<groupname>.<filestamp>
ntpkey_iffkey_<groupname>
Schnorr (IFF) identity parameters and keys
ntpkey_GQkey_<groupname>.<filestamp>,
ntpkey_gqkey_<groupname>
Guillou-Quisquater (GQ) identity parameters and keys
ntpkey_MVkeyX_<groupname>.<filestamp>,
ntpkey_mvkey_<groupname>
Mu-Varadharajan (MV) identity parameters and keys
注意:有时因为有些统计意外这个程序不能产生并且验证加密的数据,可以被返回状态为-1表明。在这种情况下只是再次运行这程序即可。如果程序的确是以返回值0结束,数据即被验证正确。
这些加密例程可以被模数大小分类。默认值是512位,可以在加密长度和计算时间之间达成妥协,这一般应用就够了。这些例程已经被256,512,1024和2048位的大小测试过。并不是所有的消息摘要和签名加密方案都可以在小于512位的大小的情况下工作。大于2048位的计算时间在所有机器上都是不可忍受的,当然最快的处理器除外。ULTRASPARC刀锋1000需要超过9分钟来产生和验证大小是2048的模数。老的SPARC IPC可能需要整整一周。
这一个程序使用的OPenssl库需要一个随机的种子文件。就如OPENSSL文件描述的那样,文件名默认是RANDFILE环境变量在用户的家目录然后.rnd在用户的家目录。
ntp-keygen.c的更多相关文章
- ntp
一: 在一台可以连接外网的服务器A上配置ntp: 配置 /etc/ntp.conf 文件: server 202.120.2.101 # local clock (LCL) ...
- 设置WindowServer2012 时间同步NTP
在powershell中以管理员身份运行以下命令即可 w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL Stop-Ser ...
- Windows Server 2008 R2 NTP服务器
Server 1.查看服务器信息 w32tm /query /status 2.设置同步地址 w32tm /config /manualpeerlist:time.windows.com /syncf ...
- 时间同步ntp服务的安装与配置(作为客户端的配置
在linux环境下,我们不仅可以自己设置时间,也可以对系统进行时间的同步,比如同步时间到某台物理机上或虚拟机,皆可!接下来我们就以同步时间到某台物理机为例, 一起学习学习. 1.配置本地yum源(挂载 ...
- CentOS7 NTP 安装配置
NTP 网络时间协议用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP ...
- 配置ntp服务
配置ntp服务(hadoop搭建可参考) 一:修改选定的服务器的本地时间 date -s '2016-10-07 16:29:30' +'%F %T' //需要设置的时间 二:修改后将时间写入到硬件时 ...
- linux时间同步ntp服务的安装与配置
1.首先安装NTP [root@localhost /]# yum install ntp -y 2.修改NTP配置文件,添加NTP服务器的网络位置 /etc/ntp.conf # For mo ...
- 如何搭建NTP服务
最近,在搭建Oracle RAC过程中,需要用到DNS和NTP,其中,DNS用于域名.IP管理,NTP用于时间同步.其实,很久以前搭建过这两种服务,但技术,本质上,符合“用进废退”的客观规律.用得越频 ...
- JetBrains.DotMemory.Keygen.4.x
GoogleN久都没找到这一类的工具. 只好折腾一个了. CSDN 免积分 0积分 下载 http://download.csdn.net/detail/caizz520/7477865 全球首发-V ...
- 基于ntp的多服务器时间同步脚本
server服务器每1个小时更新一次时间,server服务器旗下同步服务器每5秒钟同步一次时间,同步服务器与外网不做交互,由server服务器进行同步时间.所以保证每一台同步服务器时间一致. #vi ...
随机推荐
- Andorid第三方库
博客: http://blog.csdn.net/codywangziham01/article/details/11818559#t8 RoboGuice: http://www.importnew ...
- ASP.NET MVC 实现AJAX跨域请求的两种方法
通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框 ...
- poj 3524 Charm Bracelet(01背包)
Description Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd ...
- C++ 类中的引用成员变量初始化
刚遇到一个问题,需要的类成员为指针的引用,而引用不能在构造函数里初始化,必须在初始化列表中进行初始化,并且需要该引用在构造函数中的形参必须为引用形式 1: class ThreadParam { 2: ...
- iOS之网络编程
发送HTTP请求的方法 在HTTP/1.1协议中,定义了8种发送http请求的方法 GET.POST.OPTIONS.HEAD.PUT.DELETE.TRACE.CONNECT.PATCH 根据HTT ...
- 洛谷-生活大爆炸版石头剪刀布-NOIP2014提高组复赛
题目描述 Description 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8 集中出现了一种石头剪刀布的升级版 ...
- javascript焦点图自动缓冲滚动
html中调用的js库,之前的随笔中有写,就不细说了,不明白的可以留言给我 <!DOCTYPE html> <html> <head> <meta chars ...
- Matlab中矩阵的平方和矩阵中每个元素的平方介绍
该文章讲述了Matlab中矩阵的平方和矩阵中每个元素的平方介绍. 设t = [2 4 2 4] 则>> t.^2 ans = 4 164 16 而>> t^2 ans = ...
- html5+css3学习笔记-prefixfree前缀补全插件
虽然现代浏览器支持CSS3,但是一些过往的版本或是目前有些CSS3属性的应用还是离不开前缀的.一些牛逼且执着于web技术且乐于分享的仁兄(Lea Verou)就搞了个名叫prefixfree.js的插 ...
- split分割字符串时的一些特殊分隔符
@Test public void testSplit() { String address = "上海.上海市.闵行区.吴中路"; String[] splitAddress = ...