Page 1 of 2

Как получить открытый ключ DKIM подписи?

Posted: Fri Jan 30, 2015 10:03 am
by bloqisk
Добрый день. Веста при добавлении домена сама создает pem файл для подписи писем, в папке настроек.
Но открытый ключ который нужно добавить в DNS не создается автоматически!?

Возникает вопрос, Какой командой снгенерировать открытый dkim ключ?

Re: Как получить открытый ключ DKIM подписи?

Posted: Fri Jan 30, 2015 11:28 am
by skurudo
Публичный ключ у вас в DNS записывается по домену.
А приватный кладется в /etc/exim4/domains/domainname/dkim.pem

Re: Как получить открытый ключ DKIM подписи?

Posted: Fri Jan 30, 2015 1:04 pm
by bloqisk
Спасибо за ответ.
ДНС в весте не использую. Думаю как и многие.
Закрытый ключ создается в этом файле автоматически /etc/exim4/domains/domainname/dkim.pem.
Но, даже следа открытого ключа я не нашел. Возможно из-за того что не использую встроенный ДНС.

Конечно же я создал новую пару, закрытый кинул в нужную папку, а для открытого создал днс запись на другом сервере.

Но все же вопрос остается открытым. НЕ всегда удобно создавать новую пару ключей, особенно если это делает сама система.

scurudo, изложу Вам свое пожелание, как VestaCP Team. :)
При добавлении почтового домена, через панель, рядом с файлом dkim.pem создавать файл publicdkim.pem. Возможно, запуская 2 разных скрипта. 1-й создает приват пем, и добавляет в днс паблик. 2-й создает 2 файла, приват и паблик.

Re: Как получить открытый ключ DKIM подписи?

Posted: Fri Jan 30, 2015 7:40 pm
by skurudo
Задача из серии - на внимательность. Но не бином Ньютона, пилится самостоятельно исключительно легко.
Нужно добавить лишь немного дополнительного. Ниже рецепт.

создание домена - /usr/local/vesta/bin/v-add-mail-domain


было

Code: Select all

    # Adding dkim support
    if [ "$dkim" = 'yes' ]; then
        cp -f $USER_DATA/mail/$domain.pem \
            $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    fi
стало

Code: Select all

    # Adding dkim support
    if [ "$dkim" = 'yes' ]; then
        cp -f $USER_DATA/mail/$domain.pem \
            $HOMEDIR/$user/conf/mail/$domain/dkim.pem
        cp -f $USER_DATA/mail/$domain.pub \
            $HOMEDIR/$user/conf/mail/$domain/dkim.pub
    fi
Создание домена почтового - /usr/local/vesta/bin/v-add-mail-domain-dkim

было

Code: Select all

# Adding dkim keys
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
    cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem
fi
стало

Code: Select all

# Adding dkim keys
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
    cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    cp $USER_DATA/mail/$domain.pub $HOMEDIR/$user/conf/mail/$domain/dkim.pub
    chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pub
    chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pub
fi
Удаление домена - /usr/local/vesta/bin/v-delete-mail-domain-dkim

было

Code: Select all

# Deleting dkim
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
    rm -f $USER_DATA/mail/$domain.pem
    rm -f $USER_DATA/mail/$domain.pub
    rm -f $HOMEDIR/$user/conf/mail/$domain/dkim.pem
fi
стало

Code: Select all

# Deleting dkim
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
    rm -f $USER_DATA/mail/$domain.pem
    rm -f $USER_DATA/mail/$domain.pub
    rm -f $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    rm -f $HOMEDIR/$user/conf/mail/$domain/dkim.pub
fi
Пересоздание - /usr/local/vesta/func/rebuild.sh

было

Code: Select all

       # Adding dkim
        if [ "$DKIM" = 'yes' ]; then
            cp $USER_DATA/mail/$domain.pem \
                $HOMEDIR/$user/conf/mail/$domain/dkim.pem
    fi
стало

Code: Select all

       # Adding dkim
        if [ "$DKIM" = 'yes' ]; then
            cp $USER_DATA/mail/$domain.pem \
                $HOMEDIR/$user/conf/mail/$domain/dkim.pem
            cp $USER_DATA/mail/$domain.pub \
                $HOMEDIR/$user/conf/mail/$domain/dkim.pub
    fi

Re: Как получить открытый ключ DKIM подписи?

Posted: Fri Jan 30, 2015 7:41 pm
by skurudo
Используйте на здоровье :)

Я просто не уверен, что эти доработки кому-то еще пригодятся и/или их включат в дистрибутив.
Попробовать конечно можно, это да.

Re: Как получить открытый ключ DKIM подписи?

Posted: Tue Apr 14, 2015 7:53 pm
by buninsan
Спасибо skurudo
проделал все вышеприведенные изминения, перезагрузил exim и полность сервер, удалил dns домен, создал его заново, но в папке /etc/exim4/domains/domainname/ не появился dkim.pub подскажите пожалуйста, что я делаю не правильно?
еще вопрос:
файлы в папке /etc/exim4/domains/domainname/ кому должны принадлежать?
У меня они принадлежат группе mail, владелец root это правильно?

Re: Как получить открытый ключ DKIM подписи?

Posted: Tue Apr 14, 2015 8:12 pm
by skurudo
C тех пор я слегка поумнел, не было нужды изобретать велосипед для начала:
/usr/local/vesta/data/users/%username%/mail/%domain-name%.pub
...ключи можно взять туточки

root root
отличий не много

Re: Как получить открытый ключ DKIM подписи?

Posted: Tue Apr 14, 2015 8:13 pm
by buninsan
Спасибо!!!

Re: Как получить открытый ключ DKIM подписи?

Posted: Tue Apr 14, 2015 8:17 pm
by skurudo
buninsan wrote:но в папке /etc/exim4/domains/domainname/ не появился dkim.pub подскажите пожалуйста, что я делаю не правильно?
А ну да, ответ на этот вопрос - не та папка :)
Искать стоило в /home//$user/conf/mail/$domain/dkim.pub

Re: Как получить открытый ключ DKIM подписи?

Posted: Tue Apr 14, 2015 8:20 pm
by buninsan
Искать стоило в /home//$user/conf/mail/$domain/dkim.pub
в этой папке тоже нету