小编Phi*_*ack的帖子

如何在 nixos 中保留自签名证书?

我有一个构建 virtualbox vm 的 nix 表达式。作为该过程的一部分,我通过以下方式安装了自签名 ssl 证书

certfile = builtins.readFile ./certificate.crt
security.pki.certificates = [ certfile ];
Run Code Online (Sandbox Code Playgroud)

这很好用。问题是如果我想运行 nixos-rebuild 来重新配置虚拟机。由于我不再可以从 vm 构建过程访问原始证书文件(因为我在 vm 中运行,而不是在我构建 vm 的机器上),我不能通过相同的机制再次包含该文件。

我想出了三个关于如何做到这一点的想法:

  1. 在 vm 构建过程中,在 vm 中的 /root 下放置一份额外的证书副本。然后我可以在我的 configuration.nix 中使用它再次拉入证书:

    security.pki.certificates = [ /root/cert ];
    
    Run Code Online (Sandbox Code Playgroud)
  2. 由于证书始终可用于从内部服务器进行 http 下载,因此每次执行 nixos-rebuild 时,我都可以在 configuration.nix 中使用 fetchUrl 以某种方式下载它。我想唯一的缺点是引入了外部依赖。

  3. 由于证书在 /etc/ssl/ca-certificates.crt 中,作为重建过程的一部分,我可以以某种方式从该文件中提取它,然后再次将其提供给 security.pki.certificates。

想法?

nixos

5
推荐指数
1
解决办法
1595
查看次数

标签 统计

nixos ×1