如何使用我们自己的证书使用自动密钥配置 NTP

How to configure NTP with autokey using our own Certificates

我正在使用自动密钥配置 NTP 以使 NTP 更多 secure.I 不想使用可以使用 ntp-keygen 命令行工具生成的默认证书。 ntp-keygen 生成一个 RSA 密钥、一个 IFF 密钥和一个 md5withRSA 签名证书,但我想使用我自己的证书,该证书是使用签名算法 SHA1withRSA 生成的。但是当我用我的证书和密钥代替 ntp 默认证书和密钥时。它在 ntpd 启动时向我显示了这个错误。

1 月 19 日 20:52:22 GURNTP20150710 ntpd[21084]:crypto_key:没有文件戳 /etc/ntp/ntpkey_host_hostname 1 月 19 日 20:52:22 GURNTP20150710 ntpd[21084]:crypto_setup:主机密钥文件 ntpkey_host_hostname 未找到或损坏

任何人都可以帮助我在使用我自己的证书和密钥的同时使用自动密钥协议保护我的 ntp 服务器和客户端。

提前致谢。 :)

我得到了上述问题的答案problem.So关于我们可以使用由 openssl 生成的我自己的证书来保护我的 ntp 的答案是肯定的。 将我的 openssl 证书放在 /etc/ntp/ 路径上后,我遇到了一个问题(以上错误)。

回答:这是因为 ntp 在启动时会在证书和密钥的名称中查找“ntpkey_”关键字。所以我不得不用这个命名约定重命名我自己的证书。但不幸的是我又遇到了同样的错误。 这次是因为证书的文件内容 file.I 查看了 ntpkey-gen 的代码,发现 ntp 在启动时使用 fopen C 库函数打开证书和密钥文件并查找“ .(点)”。

实际上是在 ntp_keygen 生成证书和密钥时。它在证书和密钥的第一行注释了证书的文件名,其中包含点后的文件时间戳。这就是 ntpd 在证书文件中寻找点的原因。所以我在证书和密钥的第一行添加了带有文件时间戳的ntp证书和密钥的文件名。

现在工作正常。

谢谢 :)