BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 26 июн 2025, 01:55

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: 20 фев 2015, 09:37 
Не в сети

Зарегистрирован: 06 май 2009, 05:25
Сообщения: 102
Откуда: г. Амурск
Карма: 10
Вопрос. Возможно ли все исходящие для клиентов email (уведомления, сообщения от модуля Bill и т.д.) подписывать имеющимся X.509 сертификатом?

В идеале бы подписывать просто pdf формируемые модулем bill (из-за него весь сыр-бор, пытаемся уйти от бумажек), но думаю это будет сложно и у клиентов должны быть определенные pdf-читалки.
Технологически наверное проще подписывать все исходящие email.

Да, и сертификат по ГОСТу...

PS. Если кто подскажет софтину SMTP-Relay под Debian с возможностью изменения сообщений (надо добавить подпись), то буду благодарен и буду копать в эту сторону.

PS.
Сервер: вер. 6.0 сборка 1811 от 13.11.2014 18:45:59
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_38


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2015, 14:07 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Ну всё верно, это нужно делать извне биллинга. Ставите локальный какой-то там sendmail, через него настраиваете, а туда всякие сертификаты любые и алга.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 мар 2015, 06:20 
Не в сети

Зарегистрирован: 06 май 2009, 05:25
Сообщения: 102
Откуда: г. Амурск
Карма: 10
Победил. ))
Может кому пригодится.

Исходные:
- Почтовый сервер на одной машине с биллингом, организовать на нем обработку невозможно.

Требуется:
Подписывать сообщение (само тело сообщения без заголовков) имеющимся сертификатом.

Решение:
- Для обработки сообщений ставим proxsmtp.
Конфигурация proxsmtp (может быть несколько конфигураций, для каждой должен быть файл /etc/proxsmtp/*.conf):
# cat billing.conf
Код:
Listen: 127.0.0.1:10025
MaxConnections: 64
OutAddress: 127.0.0.1:25
TransparentProxy: off
FilterCommand: /etc/proxsmtp/billing.sh
FilterType: file


Скрипт обработки:
# cat billing.sh
Код:
#! /bin/sh

#Будем подписывать только если отправитель - биллинг и есть вложения
if [ "$SENDER" = "billing@MyCompany.ru" ]; then
    att=$( cat $EMAIL | grep "Content-Disposition: attachment;" )
    if [ "qqq$att" != "qqq" ]; then
        /etc/proxsmtp/sign $EMAIL
    fi
fi

exit 0


Скрипт, который непосредственно подписывает сообщение:
# cat sign
Код:
#! /bin/sh

msg=$1

#Временные файлы
f_in=$( mktemp /tmp/in.XXXXXXXXXX )
f_line=$( mktemp /tmp/line.XXXXXXXXXX )
f_out=$( mktemp /tmp/out.XXXXXXXXXX )

#Найдем начало тела сообщения
n=$( cat $msg | awk '$0 ~ "MIME-Version: 1.0" { print NR }' )

#Сохраним отдельно тело сообщения
cat $msg | awk -v n_start=$n 'NR>=n_start { print $0 }' > $f_in
#И заголовки
cat $msg | awk -v n_start=$n 'NR<n_start { print $0 }' > $f_line

#Подпишем тело имеющимся сертификатом
openssl smime -sign -signer /etc/proxsmtp/mycert.pem -in $f_in -out $f_out

#Соберем сообщение из сохраненных заголовков + подписанное тело
cat $f_line > $msg
cat $f_out >> $msg

#Удаляем временные файлы
rm -f $f_in
rm -f $f_line
rm -f $f_out


В результате получается подписанное сообщение (вложен файл подписи, включает сертификат с публичным ключем).
Сообщения нормально открываются в MS Outlook Express и MS Outlook (если есть доверие к сертификату).

PS. В конфигурации сервера добавить строку
Код:
mail.properties.mail.smtp.port=10025

и перезапустить биллинг (достаточно сам процесс server).

PSS. Файл mycert.pem содержит сертификат + приватный ключ.
Т.е. формат:
Код:
-----BEGIN CERTIFICATE-----
*****
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
*****
-----END RSA PRIVATE KEY-----


Последний раз редактировалось Yagoda 03 мар 2015, 08:21, всего редактировалось 3 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 мар 2015, 08:04 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Последний пост тянет на статью на Хабре.
За такие труды раньше на родине героев бронзовые бюсты отливали....

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.037s | 25 Queries | GZIP : On ]