keys=4
-if check_config_h 'FEAT_SECHASH 1'; then
- hashes="MD5 SHA1 SHA256 SHA384 SHA512"
-else
- hashes="MD5"
-fi
+types="MD5"
+check_config_h 'FEAT_SECHASH 1' && types="$types SHA1 SHA256 SHA384 SHA512"
+check_config_h 'HAVE_CMAC 1' && types="$types AES128 AES256"
-for hash in $hashes; do
+for type in $types; do
keys=$[$keys + 1]
- key=$(echo $keys $hash HEX:$(tr -c -d '0-9A-F' < /dev/urandom 2> /dev/null | \
- head -c $[$RANDOM % 64 * 2 + 2]))
+ case $type in
+ AES128) length=16;;
+ AES256) length=32;;
+ *) length=$[$RANDOM % 32 + 1];;
+ esac
+
+ key=$(echo $keys $type HEX:$(tr -c -d '0-9A-F' < /dev/urandom 2> /dev/null | \
+ head -c $[$length * 2]))
echo "$key" >> tmp/server.keys
echo "$key" >> tmp/client.keys
done