Господа сисдамины, прошу вашей помощи.
Пытаюсь наладить SMTP-аутентификацию с помощью Cyrus SASL и механизма CRAM-MD5.
Не работает. Причем PLAIN работает, а CRAM-MD5 - нет.
Конфиг такой:
# cat /etc/sasl2/smtpd.conf
log_level: 5
pwcheck_method: auxprop
mech_list: PLAIN CRAM-MD5 DIGEST-MD5
auxprop_plugin: sasldbТелнетом коннектюсь, говорю AUTH CRAM-MD5, сервер выдаёт строку Base64.
Эту строку обрабатываю таким скриптом:
#!/usr/bin/perl
use Digest::HMAC_MD5 qw(hmac_md5 hmac_md5_hex);
$data = "строка_в_base64" ;
$key = "пароль";
$digest = hmac_md5($data, $key);
print hmac_md5_hex($data, $key);
Затем перевожу в Base64 имя пользователя и полученную зашифрованную строку ( через пробел, то есть user_name зашифрованная_строка ) и в качестве ответа отдаю серверу, а он выдает:
warning: SASL authentication failure: incorrectdigest response .
Подскажите, пожалуйста, что тут можно сделать.