1{ pkgs, lib, ... }:
2{
3 name = "age-plugin-tpm-decrypt";
4 meta = with lib.maintainers; {
5 maintainers = [
6 sgo
7 josh
8 ];
9 };
10
11 nodes.machine =
12 { pkgs, ... }:
13 {
14 virtualisation.tpm.enable = true;
15 environment.systemPackages = with pkgs; [
16 age
17 age-plugin-tpm
18 ];
19 };
20
21 testScript = ''
22 machine.start()
23
24 machine.succeed("age-plugin-tpm --generate --output identity.txt")
25 machine.succeed("age-plugin-tpm --convert identity.txt --output recipient.txt")
26 machine.succeed("echo -n 'Hello World' >data.txt")
27
28 machine.succeed("age --encrypt --recipients-file recipient.txt --output data.age data.txt")
29 data = machine.succeed("age --decrypt --identity identity.txt data.age")
30
31 assert data == "Hello World"
32 '';
33}