@@ -63,7 +63,7 @@ run_alias() {
6363 assert_output --partial ' /bats-core/bin/bats'
6464}
6565
66- @test " preparing: assert TEST_VECTORS value exists" {
66+ @test " preparing: assert TEST_VECTORS package exists" {
6767 run ${TEST_VECTORS}
6868 assert_output --partial ' /test/testvectors'
6969}
@@ -82,13 +82,24 @@ run_alias() {
8282 assert_output --partial " Created $TEST_RESULTS_DIR /$cdoc_file "
8383
8484 # ensure encrypted container can be decrypted successfully
85- run run_alias cdoc-cli decrypt -f $$ TEST_RESULTS_DIR/$cdoc_file -k $CLI_KEYS_DIR /cdoc2client.pem -o $TEST_RESULTS_DIR
85+ run run_alias cdoc-cli decrypt -f $TEST_RESULTS_DIR /$cdoc_file -k $CLI_KEYS_DIR /cdoc2client.pem -o $TEST_RESULTS_DIR
8686 assertSuccessfulDecryption
8787
8888 rm -f $TEST_RESULTS_DIR /$cdoc_file
8989}
9090
91- @test " test2: successfully encrypt CDOC2 container with RSA" {
91+ @test " test2: assert EC decryption is compatible with earlier encrypted CDOC2" {
92+ local cdoc_file=" ec_simple_old_version_DO_NOT_DELETE.cdoc"
93+
94+ echo " # Decrypting ${cdoc_file} " >&3
95+ run run_alias cdoc-cli decrypt -f ${TEST_VECTORS} /${cdoc_file} -k $CLI_KEYS_DIR /cdoc2client.pem --output $TEST_RESULTS_DIR
96+
97+ assertSuccessfulExitCode
98+ assert_output --partial " Decrypting ${TEST_VECTORS} /${cdoc_file} "
99+ assertSuccessfulDecryption
100+ }
101+
102+ @test " test3: successfully encrypt CDOC2 container with RSA" {
92103 local cdoc_file=" rsa_simple.cdoc"
93104 run run_alias cdoc-cli create -f $TEST_RESULTS_DIR /$cdoc_file \
94105 -p $CLI_KEYS_DIR /rsa_pub.pem $FILE_FOR_ENCRYPTION
@@ -104,13 +115,13 @@ run_alias() {
104115 rm -f $TEST_RESULTS_DIR /$cdoc_file
105116}
106117
107- @test " test3 : successfully encrypt CDOC2 container with password" {
118+ @test " test4 : successfully encrypt CDOC2 container with password" {
108119 run run_alias cdoc-cli create -f $CDOC2_CONTAINER -pw $PASSWORD_WITH_LABEL $FILE_FOR_ENCRYPTION
109120 assertSuccessfulExitCode
110121 assert_output --partial " Created $CDOC2_CONTAINER "
111122}
112123
113- @test " test4 : successfully decrypt CDOC2 container from test1 with password" {
124+ @test " test5 : successfully decrypt CDOC2 container from test1 with password" {
114125 run run_alias cdoc-cli decrypt -f $CDOC2_CONTAINER -pw $PASSWORD_WITH_LABEL --output $TEST_RESULTS_DIR
115126 assertSuccessfulExitCode
116127 assert_output --partial " Decrypting $CDOC2_CONTAINER "
@@ -119,20 +130,42 @@ run_alias() {
119130 removeEncryptedCdoc
120131}
121132
122- @test " test5: successfully encrypt CDOC2 container with few files" {
133+ @test " test6: assert password decryption is compatible with earlier encrypted CDOC2" {
134+ local earlier_encrypted_cdoc2_file=" password_old_version_DO_NOT_DELETE.cdoc"
135+
136+ echo " # Decrypting ${earlier_encrypted_cdoc2_file} " >&3
137+ run run_alias cdoc-cli decrypt -f ${TEST_VECTORS} /${earlier_encrypted_cdoc2_file} -pw $PASSWORD_WITH_LABEL --output $TEST_RESULTS_DIR
138+
139+ assertSuccessfulExitCode
140+ assert_output --partial " Decrypting ${TEST_VECTORS} /${earlier_encrypted_cdoc2_file} "
141+ assertSuccessfulDecryption
142+ }
143+
144+ @test " test7: assert decryption with symmetric key is compatible with earlier encrypted CDOC2" {
145+ local earlier_encrypted_cdoc2_file=" symmetric_old_version_DO_NOT_DELETE.cdoc"
146+
147+ echo " # Decrypting ${earlier_encrypted_cdoc2_file} " >&3
148+ run run_alias cdoc-cli decrypt -f ${TEST_VECTORS} /${earlier_encrypted_cdoc2_file} --secret $SECRET_WITH_LABEL --output $TEST_RESULTS_DIR
149+
150+ assertSuccessfulExitCode
151+ assert_output --partial " Decrypting ${TEST_VECTORS} /${earlier_encrypted_cdoc2_file} "
152+ assertSuccessfulDecryption
153+ }
154+
155+ @test " test8: successfully encrypt CDOC2 container with few files" {
123156 run run_alias cdoc-cli create -f $CDOC2_CONTAINER -pw $PASSWORD_WITH_LABEL $FILE_FOR_ENCRYPTION $FILE_FOR_ENCRYPTION2
124157 assertSuccessfulExitCode
125158
126159 removeEncryptedCdoc
127160}
128161
129- @test " test6 : fail to encrypt CDOC2 container with password if it's validation has failed" {
162+ @test " test9 : fail to encrypt CDOC2 container with password if it's validation has failed" {
130163 password=" passwordlabel:short" ;
131164 run run_alias cdoc-cli create -f $CDOC2_CONTAINER -pw $password $FILE_FOR_ENCRYPTION
132165 assertFailure
133166}
134167
135- @test " test7 : fail to decrypt CDOC2 container with wrong decryption key type" {
168+ @test " test10 : fail to decrypt CDOC2 container with wrong decryption key type" {
136169 # encrypt with secret key
137170 run run_alias cdoc-cli create -f $CDOC2_CONTAINER --secret $SECRET_WITH_LABEL $FILE_FOR_ENCRYPTION
138171 assertSuccessfulExitCode
@@ -144,7 +177,7 @@ run_alias() {
144177 removeEncryptedCdoc
145178}
146179
147- @test " test8 : successfully encrypt CDOC with two keys and decrypt with one of them" {
180+ @test " test11 : successfully encrypt CDOC with two keys and decrypt with one of them" {
148181 # encrypt with secret key and password
149182 run run_alias cdoc-cli create -f $CDOC2_CONTAINER --secret $SECRET_WITH_LABEL -pw $PASSWORD_WITH_LABEL $FILE_FOR_ENCRYPTION
150183 assertSuccessfulExitCode
@@ -158,7 +191,7 @@ run_alias() {
158191 removeEncryptedCdoc
159192}
160193
161- @test " test9 : successfully re-encrypt CDOC2 container" {
194+ @test " test12 : successfully re-encrypt CDOC2 container" {
162195 # prepare encrypted container for further re-encryption
163196 run run_alias cdoc-cli create -f $CDOC2_CONTAINER --secret $SECRET_WITH_LABEL $FILE_FOR_ENCRYPTION
164197 assertSuccessfulExitCode
@@ -184,7 +217,7 @@ run_alias() {
184217 removeEncryptedCdoc
185218}
186219
187- @test " test10 : fail re-encryption within the same directory" {
220+ @test " test13 : fail re-encryption within the same directory" {
188221 run run_alias cdoc-cli create -f $CDOC2_CONTAINER --secret $SECRET_WITH_LABEL $FILE_FOR_ENCRYPTION
189222 assertSuccessfulExitCode
190223
0 commit comments