Skip to content

Commit 68e2a62

Browse files
olehermansevpodzime
authored andcommitted
Changed the syntax of cf-keycrypt to match other components
Also did a lot of refactoring, error checking, memory cleaning, et.c. Squashed commits: cf-keycrypt: license cf-keycrypt: PR fixes #1 cf-keycrypt: Fixed copyright in cf-keycrypt.c cf-keycrypt: CryptoInitialize() cf-keycrypt: Implemented new syntax as discussed in PR cf-keycrypt: Acceptance test for new arguments cf-keycrypt: Print help message when no arguments are added cf-keycrypt: PR fixes #2 cf-keycrypt: PR fixes #3 cf-keycrypt: PR fixes #4 cf-keycrypt: PR fixes #5 cf-keycrypt: Changed syntax to jimis' suggestion cf-keycrypt: Moved and fixed acceptance tests Changelog: Title Signed-off-by: Ole Herman Schumacher Elgesem <ole.elgesem@northern.tech> (cherry picked from commit 53d7769)
1 parent 8b21cf3 commit 68e2a62

File tree

12 files changed

+468
-299
lines changed

12 files changed

+468
-299
lines changed

cf-keycrypt/cf-keycrypt.c

Lines changed: 306 additions & 190 deletions
Large diffs are not rendered by default.

tests/acceptance/00_basics/cf-keycrypt/decrypt.cf

Lines changed: 0 additions & 27 deletions
This file was deleted.

tests/acceptance/00_basics/cf-keycrypt/encrypt-decrypt.cf

Lines changed: 0 additions & 53 deletions
This file was deleted.

tests/acceptance/00_basics/cf-keycrypt/encrypt.cf.x

Lines changed: 0 additions & 29 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
body common control
2+
{
3+
inputs => { "../default.cf.sub" };
4+
bundlesequence => { default("$(this.promise_filename)") };
5+
version => "1.0";
6+
}
7+
8+
bundle agent test
9+
{
10+
meta:
11+
"description"
12+
string => "Test that cf-keycrypt can still decrypt content encrypted at the time of initial implementation";
13+
14+
commands:
15+
"$(sys.cf_keycrypt)"
16+
args => "-k $(this.promise_dirname)/testkey.priv -d $(this.promise_dirname)/encrypted -o $(G.testfile)";
17+
}
18+
19+
bundle agent check
20+
{
21+
methods:
22+
"any"
23+
usebundle => dcs_check_diff("$(this.promise_dirname)/plaintext",
24+
"$(G.testfile)",
25+
"$(this.promise_filename)");
26+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
body common control
2+
{
3+
inputs => { "../default.cf.sub" };
4+
bundlesequence => { default("$(this.promise_filename)") };
5+
version => "1.0";
6+
}
7+
8+
bundle agent init
9+
{
10+
methods:
11+
"any" usebundle => dcs_fini("$(G.testfile).plain");
12+
"any" usebundle => dcs_fini("$(G.testfile).encrypted");
13+
"any" usebundle => dcs_fini("$(G.testfile).decrypted");
14+
"any" usebundle => generate_key;
15+
"any" usebundle => trust_key;
16+
}
17+
18+
bundle agent test
19+
{
20+
meta:
21+
"description"
22+
string => "Test cf-keycrypt with different arguments/order";
23+
24+
25+
vars:
26+
"text" string => "This secret sauce should be encrypted and decrypted.";
27+
28+
files:
29+
"$(G.testfile).plain"
30+
create => "true",
31+
edit_defaults => empty,
32+
edit_line => insert_lines( "$(text)" );
33+
34+
commands:
35+
"$(sys.cf_keycrypt)"
36+
args => "--encrypt $(G.testfile).plain --key $(sys.workdir)/ppkeys/localhost.pub --output $(G.testfile).encrypted";
37+
"$(sys.cf_keycrypt)"
38+
args => "--decrypt -o $(G.testfile).decrypted --key $(sys.workdir)/ppkeys/localhost.priv $(G.testfile).encrypted";
39+
reports:
40+
"Binaries/folders:";
41+
"$(sys.cf_keycrypt)";
42+
"$(sys.cf_agent)";
43+
"$(sys.workdir)";
44+
}
45+
46+
bundle agent check
47+
{
48+
methods:
49+
"any"
50+
usebundle => dcs_check_diff("$(G.testfile).plain",
51+
"$(G.testfile).decrypted",
52+
"$(this.promise_filename)");
53+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
body common control
2+
{
3+
inputs => { "../default.cf.sub" };
4+
bundlesequence => { default("$(this.promise_filename)") };
5+
version => "1.0";
6+
}
7+
8+
bundle agent init
9+
{
10+
methods:
11+
"any" usebundle => dcs_fini("$(G.testfile).plain");
12+
"any" usebundle => dcs_fini("$(G.testfile).encrypted");
13+
"any" usebundle => dcs_fini("$(G.testfile).decrypted");
14+
"any" usebundle => generate_key;
15+
"any" usebundle => trust_key;
16+
}
17+
18+
bundle agent test
19+
{
20+
meta:
21+
"description"
22+
string => "Test that cf-keycrypt basic key based encryption and decryption work";
23+
24+
25+
vars:
26+
"text"
27+
string => "This secret sauce should be encrypted and decrypted.";
28+
29+
files:
30+
"$(G.testfile).plain"
31+
create => "true",
32+
edit_defaults => empty,
33+
edit_line => insert_lines( "$(text)" );
34+
35+
commands:
36+
"$(sys.cf_keycrypt)"
37+
args => "-k $(sys.workdir)/ppkeys/localhost.pub -e $(G.testfile).plain -o $(G.testfile).encrypted";
38+
"$(sys.cf_keycrypt)"
39+
args => "-k $(sys.workdir)/ppkeys/localhost.priv -d $(G.testfile).encrypted -o $(G.testfile).decrypted";
40+
41+
reports:
42+
"Binaries/folders:";
43+
"$(sys.cf_keycrypt)";
44+
"$(sys.cf_agent)";
45+
"$(sys.workdir)";
46+
}
47+
48+
bundle agent check
49+
{
50+
methods:
51+
"any"
52+
usebundle => dcs_check_diff("$(G.testfile).plain",
53+
"$(G.testfile).decrypted",
54+
"$(this.promise_filename)");
55+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
body common control
2+
{
3+
inputs => { "../../default.cf.sub" };
4+
bundlesequence => { default("$(this.promise_filename)") };
5+
version => "1.0";
6+
}
7+
8+
bundle agent test
9+
{
10+
meta:
11+
"description"
12+
string => "Test that cf-keycrypt encryption uses random padding";
13+
14+
commands:
15+
"$(sys.cf_keycrypt)"
16+
args => "-e $(this.promise_dirname)/plaintext -k $(this.promise_dirname)/testkey.pub -o $(G.testfile)";
17+
"$(sys.cf_keycrypt)"
18+
args => "-e $(this.promise_dirname)/plaintext -k $(this.promise_dirname)/testkey.pub -o $(G.testfile).2";
19+
}
20+
21+
bundle agent check
22+
{
23+
methods:
24+
"any"
25+
usebundle => dcs_check_diff("$(G.testfile)",
26+
"$(G.testfile).2",
27+
"$(this.promise_filename)");
28+
}
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)