2

我正在使用自动密钥配置 NTP 以使 NTP 更安全。我不想使用可以使用 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 服务器和客户端,同时使用我自己的证书和密钥。

提前致谢。:)

4

1 回答 1

0

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

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

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

它现在工作正常。

谢谢 :)

于 2016-01-25T07:44:33.750 回答