要撤销对客户端的访问权限,我可以这样做
$./revoke-full client_name
然后将新 crl.pem
的放在服务器中。
但是,如何重新启用该客户端?删除crl.pem
文件不是解决方案,因为这会破坏easy-keys
目录,以后我将无法再次撤销它们。
要撤销对客户端的访问权限,我可以这样做
$./revoke-full client_name
然后将新 crl.pem
的放在服务器中。
但是,如何重新启用该客户端?删除crl.pem
文件不是解决方案,因为这会破坏easy-keys
目录,以后我将无法再次撤销它们。
证书不应该被撤销!您应该生成一个新的,并将其提供给客户。
...但是,如果您愿意:
在您的 CA 文件夹中,应该有一个 index.txt,其中包含证书 ID。以“V”开头的有效,以“R”开头的无效。您可以编辑该文件,并将第一个字符固定为“V”,并删除第三列(撤销日期)。如果你有不止一个证书,你应该看到模式(序列号现在出现在第三列,等等)。
然后你只需要再次重新生成 CRL,它应该可以工作。
这是一个丑陋的 hack,...我仍然建议为客户端生成一个新证书。
虽然撤销切换根本不是一个很好的做法,但在某些特殊情况下取消撤销密钥(如undo)可能很有用。
最差:永远不能删除crt,除非是非常具体的情况,比如学习。最后,您可能会看到我如何删除最后一个索引条目(作为撤消操作)。
撤销
我写了一个小
unrevoke
脚本。由于这不是标准功能,我添加了一种名为 的日志文件,
unrevoke.txt
采用 ASCII 格式并重新使用index.txt的结构(制表符分隔):警告:它可以满足我的需要,但您必须在正常使用前对其进行测试!
最后删除
仅供参考!!: 密钥永远不会被删除以允许他撤销!