0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 TESTNAME="test043_encrypt"
0036
0037 PWD=`pwd`
0038 if [ `echo $PWD | grep $TESTNAME ` ]; then
0039
0040 echo > /dev/null
0041 else
0042
0043 pushd .
0044 echo "Doing cd"
0045 cd test043_encrypt
0046 fi;
0047
0048 . ../testenv.sh
0049
0050 export TESTDIR="$NDRX_APPHOME/atmitest/$TESTNAME"
0051 export PATH=$PATH:$TESTDIR
0052
0053 xadmin killall atmi.sv43 2>/dev/null
0054 xadmin killall atmiclt43 2>/dev/null
0055
0056
0057 export NDRX_TOUT=10
0058 export NDRX_DEBUG_CONF=`pwd`/debug.conf
0059
0060 function go_out {
0061 echo "Test exiting with: $1"
0062 xadmin killall atmi.sv43 2>/dev/null
0063 xadmin killall atmiclt43 2>/dev/null
0064
0065 popd 2>/dev/null
0066 exit $1
0067 }
0068
0069 rm *.log
0070
0071
0072 ENCSTR=""
0073
0074
0075
0076
0077
0078 for i in 1 2
0079 do
0080 if [ "X$i" == "X2" ]; then
0081 export NDRX_PLUGINS=libcryptohost.so
0082
0083 if [ "$(uname)" == "Darwin" ]; then
0084 echo "Darwin host"
0085 export NDRX_PLUGINS=libcryptohost.dylib
0086 fi
0087
0088 fi
0089
0090 CLR="hello Test $i"
0091
0092 ENCSTR=`exencrypt "$CLR"`
0093 RET=$?
0094
0095 if [ "$RET" -ne "0" ]; then
0096 echo "Failed to encrypt..."
0097 go_out -3
0098 fi
0099
0100 echo "Encrypted string: [$ENCSTR]"
0101
0102 if [ "Xhello Test" == "X$ENCSTR" ]; then
0103 echo "ENCSTR must not be equal to non encrypted value!!!"
0104 go_out -4
0105 fi
0106
0107
0108 DECSTR=`exdecrypt $ENCSTR`
0109 RET=$?
0110
0111 if [ "$RET" -ne "0" ]; then
0112 echo "Failed to decrypt..."
0113 go_out -5
0114 fi
0115
0116 echo "Decrypted string: [$DECSTR] (clear: [$CLR])"
0117
0118 if [ "Xhello Test $i" != "X$DECSTR" ]; then
0119 echo "DECSTR Must be equal to clear value, but got [$DECSTR]"
0120 go_out -6
0121 fi
0122 done
0123
0124 unset NDRX_PLUGINS
0125
0126
0127
0128
0129
0130
0131
0132 DECSTR=`exdecrypt $ENCSTR`
0133 RET=$?
0134
0135 echo "Decrypted value (with different key): [$DECSTR]"
0136
0137 if [ "$RET" -eq "0" ] && [ "X$DECSTR" == "Xhello Test 2" ]; then
0138 echo "ERROR ! value shall not be decrypted successfully with different key! $RET"
0139 go_out -7
0140 fi
0141
0142 echo "Checking interactive mode..."
0143
0144
0145
0146 ENC_CLI=`{ echo 'hello Test 2'; echo 'hello Test 2'; } | exencrypt`
0147 RET=$?
0148
0149
0150 if [ "$RET" -eq "0" ] && [ "X$ENC_CLI" == "X$ENCSTR" ]; then
0151 echo "ERROR ! Interactive enc value [$ENC_CLI] expected [$ENCSTR]! $RET"
0152 go_out -8
0153 fi
0154
0155
0156
0157 ENC_CLI=`{ echo 'hello Test 2'; echo 'hello Test 1'; } | exencrypt`
0158 RET=$?
0159
0160
0161 if [ "$RET" -eq "0" ]; then
0162 echo "ERROR ! Interactive no error on non matching data!"
0163 go_out -9
0164 fi
0165
0166
0167
0168
0169
0170
0171 export NDRX_PLUGINS=libcryptohost.so
0172
0173 if [ "$(uname)" == "Darwin" ]; then
0174 echo "Darwin host"
0175 export NDRX_PLUGINS=libcryptohost.dylib
0176 fi
0177
0178 echo "[@global]" > test.conf
0179 echo "TEST_ENV_PARAM=\${dec=$ENCSTR}" >> test.conf
0180
0181
0182
0183
0184 export NDRX_CCONFIG=`pwd`/test.conf
0185
0186
0187 (./atmiclt43 2>&1) > ./atmiclt43.log
0188
0189 RET=$?
0190
0191 if [ "$RET" -ne "0" ]; then
0192 echo "ERROR ! atmiclt43 failed!"
0193 go_out -11
0194 fi
0195
0196
0197
0198
0199 (./atmiclt43_tp $ENCSTR 2>&1) > ./atmiclt43_tp.log
0200
0201 RET=$?
0202
0203 if [ "$RET" -ne "0" ]; then
0204 echo "ERROR ! atmiclt43_tp failed!"
0205 go_out -12
0206 fi
0207
0208
0209 if [ "X`grep TESTERROR *.log`" != "X" ]; then
0210 echo "Test error detected!"
0211 go_out -2
0212 fi
0213
0214 go_out $RET
0215
0216