# -*-html-*- pcp = ../src/pcp1 vault = v1 passwd = xxx cmd = $pcp -h expect = /export/ prepare = rm -f $vault cmd = $pcp -V $vault -l expect = /doesn't contain any keys so far/ cmd = $pcp -V $vault -k -x $passwd input = < cmd = $pcp -V $vault -l expect = /Dexter Morgan/ cmd = $pcp -V $vault -l | tail -1 | cut -d ' ' -f 1 | xargs $pcp -V $vault -t -i expect = /BEGIN PCP SECRET KEY/ cmd = $pcp -V $vault -l | tail -1 | cut -d ' ' -f 1 | xargs $pcp -V $vault -p -i expect = /BEGIN PCP PUBLIC KEY/ cmd = $pcp -V $vault -l | tail -1 | cut -d ' ' -f 1 | xargs $pcp -V $vault -p -O testkey-self -i expect-file = testkey-self cmd = /usr/bin/true # file is already there expect-file-contains = testkey-self Dexter cmd = $pcp -V $vault -P -I bart.pub expect = /key 0x0E4512BE47CE0215 added/ cmd = $pcp -V $vault -t -i 0x0E4512BE47CE0215 expect = /Serial Number: 0xEE894128/ cmd = $pcp -V $vault -r -i 0x0E4512BE47CE0215 expect = /Public key deleted/ cmd = $pcp -V $vault -t expect = /Vault version: 00000001/ cmd = $pcp -V $vault -t expect = /Public keys: 0/ # # encryption tests idbobby = 0x68832D215AFB2440 idalicia = 0xE2942C2B6C96F6CC md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50 prepare = echo ${md5msg} > testmessage cmd = $pcp -V va -S -I key-alicia-sec -x a expect = /${idalicia}/ cmd = $pcp -V va -P -I key-bobby-pub expect = /${idbobby}/ cmd = $pcp -V va -e -i ${idbobby} -I testmessage -O testencrypted -x a expect = /for ${idbobby} successfully/ cmd = cat testencrypted expect = /END PCP ENCRYPTED FILE/ cmd = $pcp -V vb -S -I key-bobby-sec -x b expect = /${idbobby}/ cmd = $pcp -V vb -P -I key-alicia-pub expect = /${idalicia}/ cmd = $pcp -V vb -d -O testdecrypted -I testencrypted -x b expect = /from ${idalicia} successfully/ cmd = cat testdecrypted expect = /${md5msg}/ # # negative tests, check for error handling cmd = $pcp -S -P expect = /invalid combination of commandline parameters/ cmd = $pcp -V $vault -I nonexist -P expect = /Could not open input file nonexist/ cmd = $pcp -V $vault -r expect = /You need to specify a key id/ cmd = $pcp -V $vault -r -i 0x1 expect = /is too short/ cmd = $pcp -V $vault -r -i 0x1111111111111111111111111 expect = /is too long/ cmd = $pcp -V $vault -r -i 11111111111111111 expect = /is too long/ cmd = $pcp -V $vault -r -i 0x0101010101010101 expect = /No key with id 0x010101/ cmd = $pcp -V $vault -s -i 0x0101010101010101 expect = /Could not find a secret key with id 0x010101/ prepare = $pcp -V v2 -l # so we've got just an empty vault cmd = $pcp -V v2 -s expect = /no primary secret key in the vault/ cmd = $pcp -V $vault -l | grep primary |cut -d ' ' -f 1 \ | xargs $pcp -V $vault -s -O nonexistentdir/keyfile -i expect = /Could not create output file nonexistentdir/ cmd = $pcp -V $vault -p -i 0x0101010101010101 expect = /Could not find a public key with id 0x010101/ prepare = $pcp -V v3 -l # so we've got just an empty vault cmd = $pcp -V v3 -p expect = /no primary secret key in the vault/ prepare = $pcp -V $vault -P -I bart.pub cmd = $pcp -V $vault -l | grep public | cut -d ' ' -f 1 \ | tail -1 | xargs $pcp -V $vault -p -O nonexistentdir/keyfile expect = /Could not create output file nonexistentdir/ prepare = echo -n > testfile-empty cmd = $pcp -V $vault -P -I testfile-empty expect = /file is empty/ prepare = jot 5000 | while read ignore; do echo -n X; done > testfile-toolong cmd = $pcp -V $vault -P -I testfile-toolong expect = /line is too long/ /* * Currently disabled, because ZeroMQ's zmq_z85_decode() doesn't really * catch invalid z85, it only checks the input length and not the actual * encoding. Re-enable, once that bug is fixed. prepare = jot 30 | while read ignore; do \ echo XXXXXXXXXXXXXXXXXX; done > testfile-noz85 cmd = $pcp -V $vault -P -I testfile-noz85 expect = /could not decode input/ */ prepare = jot 30 | while read ignore; do echo XXXXX; done \ | $pcp -z > testfile-nokey cmd = $pcp -V $vault -P -I testfile-nokey expect = /result to a proper sized key/ cmd = $pcp -V $vault -S -I bart.pub expect = /result to a proper sized key/ cmd = $pcp -V $vault -P -I bart.pub expect = /there already exists a key/ prepare = $pcp -V v3 -l cmd = $pcp -V v3 -l expect = /contain any keys so far/ prepare = ./invalidkeys cmd = $pcp -V $vault -S -I testkey-invalid-id expect /invalid key id/ cmd = $pcp -V $vault -S -I testkey-not-encrypted expect = /secret key contained in key seems to be empty/ cmd = $pcp -V $vault -S -I testkey-wrong-serial # sometimes the created key is invalid in another way expect = /(invalid serial number|could not decode input)/ cmd = $pcp -V $vault -S -I testkey-wrong-type expect = /key type is not SECRET/ cmd = $pcp -V $vault -S -I testkey-wrong-version expect = /unknown key version/ prepare = ./invalidkeys cmd = $pcp -V $vault -P -I testpubkey-invalid-id expect = /nvalid key id/ cmd = $pcp -V $vault -P -I testpubkey-wrong-serial expect = /invalid serial number/ cmd = $pcp -V $vault -P -I testpubkey-wrong-type expect = /key type is not PUBLIC/ cmd = $pcp -V $vault -P -I testpubkey-wrong-version expect = /unknown key version/ cmd = $pcp -V testvault-invalidheader -l expect = /Unexpected vault file format/ cmd = $pcp -V testvault-invalidversion -l expect = /Unexpected vault file format/ /* cmd = $pcp -V testvault-invaliditemsize -l expect = /invalid key item header size/ */ cmd = $pcp -V testvault-invaliditemtype -l expect = /invalid key type/ cmd = $pcp -V testvault-invalidkeytype -l expect = /contain any keys so far./