一般ユーザーとしてユーザー空間での暗号化暗号化

一般ユーザーとしてユーザー空間での暗号化暗号化

コンテンツが圧縮され暗号化され、インストール可能なパッケージ形式を作成するのは私の責任です。

私はこれをcryptsetup rawデバイスに組み込まれたsquashfsとしてモデル化しました。

ああ、cryptsetupを設定するにはrootアクセスが必要なので、jenkinsなどのビルドサーバーからこれらのパッケージをビルドすることはできません。 Dockerコンテナ内で同じ操作を実行しても、Dockerがデバイスマッパーに透過的ではないため、機能しません。

したがって、次のオプションがあります。

  1. ビルドサーバーでsquashfsを作成し、「手動で」cryptsetupレイヤーを完了します。
  2. どういうわけかカーネルの介入なしにcryptsetup暗号化を実行します。

1.はプロセスに別のステップを追加するので、2のようなタスクを好みます。

理解しやすくするには:

現在私は次のことをしています

mksquashfs <sources> tempfile -noappend
<determine the size of tempfile>
<create "outfile" file with said size> 
cryptsetup open -q -d keyfile outfile <my-dm-device>
mksquashfs <sources> /dev/mapper/<my-dm-device> -noappend
cryptsetup close <my-dm-device>

単純化したい

mksquashfs <sources> tempfile -noappend
user_space_crypt_create -q -d keyfile tempfile outfile

ここで、user_space_crypt_createは、暗号化されていない一時ファイルを(raw)暗号化された出力ファイルに変換します。このファイルは後でcryptsetupを介してターゲットシステムにインストールできます。

そんなことがありますか?

関連情報