nixos - "nixos-rebuild"の一部としてcitrix-receiverとすべての必須証明書をインストールします。

nixos - "nixos-rebuild"の一部としてcitrix-receiverとすべての必須証明書をインストールします。

Citrix Receiverを正常にインストールし、仕事用コンピュータにログインするために必要な証明書を使用して手動で設定しましたが、これが自動設定の一部になるようにしたいと思います。nixos-rebuild

インストールと構成の手順は次のとおりです。

  • Citrixレシーバーの取り付け

$ nix-env -i --arg config '{ allowUnfree = true;}' citrix-receiver

  • rootとしてrwに/nix/storeを再マウントします。

# mount -o remount,rw /nix/store

  • icaclient キーストアの場所に移動

# cd home/dw/.nix-profile/opt/citrix-icaclient/keystore

  • デフォルトのcacertsディレクトリを削除し、cacertsを/etc/ssl/certsへのシンボリックリンクに再作成します。

# rm -rf cacerts && ln -s /etc/ssl/certs cacerts

  • cacertsに行き、Symantec証明書を受け取り、解凍しました。

# cd cacerts && wget http://www.symantec.com/content/en/us/enterprise/verisign/roots/roots.zip && unzip roots.zip

  • 解凍後、pemファイルを再帰的に見つけて現在のディレクトリにコピーします。

find . -name "*.pem" -type f -exec cp {} . \;

これはすべてうまくいきますが、通常の構成の一部としてこれを行うための良い方法が見つかりませんでした。

Knicksのスタッフの中でこれを行う最良の方法を知っている人はいますか?

答え1

独自のバンドルを使用してcitrix-receiverパッケージを再構築できます。

次のコードはテストされていません。これをenvironment.systemPackagesConfiguration.nixに入れることができます。

(citrix-reveiver.override {
  cacert = stdenv.mkDerivation {
    name = "symantic-cacerts";
    src = null;
    unpackPhase = ":";
    installPhase = ''
      ${pkgs.unzip}/bin/unzip ${./roots.zip}
      mkdir $out/etc/ssl/certs/
      find . -name "*.pem" -type f | xargs cat > $out/etc/ssl/certs/ca-bundle.crt
    '';
  };
})

関連情報