BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 03 май 2024, 15:40

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 01 мар 2012, 18:04 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 185
Карма: 0
сделал все согласно документации по 5.1

Работа сертификатов основывается на паре асинхронных ключей. Необходимо создать их, для этого воспользуемся утилитой keytool, которая идет вместе с JRE/JDK:

keytool -keystore .keystore -alias bgbilling -genkey -keyalg RSA -dname "cn=bill.provider.ru, email=email@provider.ru,ou=Provider Billing, o=Provider, c=RU" -validity 1001

Параметр -validity указывает сколько дней будет действителен сертификат.

Утилита попросит ввести пароль для хранилища и пароль для закрытого ключа (private key).

Оба пароля должны совпадать и быть прописаны в конфиге сервера (по умолчанию биллинг пытается использовать значение 'bgbilling'):

keystore.password=bgbilling

cn - common name - имя сервера. Пользователь заходит на https://bill.provider.ru/, сервер возращает сертификат, браузер проверяет имя на совпадение - если не совпадает, то выводится предупреждение.

ou - organization unit, o - organization, c - country

После выполнения утилиты появится файл .keystore, в нем в алиасе bgbilling - закрытый ключ и сертификат. Закрытый ключ нельзя передавать никому.

Необходимо экспортировать серверный сертификат, чтобы удаленная сторона могла добавить его в доверенные:

keytool -keystore .keystore -alias bgbilling -exportcert -file bgbilling.cer
Сконвертировать сертификат в x509 base64 можно командой:

openssl x509 -inform der -in bgbilling.cer -out bgbilling.pem
Сначала создаем главный сертификат для модуля, им будут подписаны клиентские сертификаты, а сам он будет добавлен в доверенные сертификаты в .keystore.

Генерируем ключ, который будет зашифрован паролем:

[amir@ts01 keys]$ openssl genrsa -des3 -out mps.key 1024
Generating RSA private key, 1024 bit long modulus
e is 65537 (0x10001)
Enter pass phrase for mps.key:
Verifying - Enter pass phrase for mps.key:
Создаем на основе ключа сертификат, здесь понадобится ввести описание сертификата, точка - '.' -означает пустое поле:

[amir@ts01 keys]$ openssl req -new -x509 -days 1001 -key mps.key -out mps.pem
Enter pass phrase for mps.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:RU
State or Province Name (full name) [Berkshire]:.
Locality Name (eg, city) [Newbury]:.
Organization Name (eg, company) [My Company Ltd]:Provider
Organizational Unit Name (eg, section) []:Provider BGBilling MPS
Common Name (eg, your name or your server's hostname) []:Provider BGBilling MPS
Email Address []:support@provider.ru
Добавляем сертификат в доверенные:

keytool -keystore .keystore -alias mps -importcert -file mps.pem
Если нам прислали CSR - запрос на подпись или мы только что сами создали новый - создаем подписанный сертификат из запроса:

[amir@ts01 keys]$ openssl x509 -req -in osmp.csr -CA mps.pem -CAkey mps.key -out osmp.pem -days 1001 -CAcreateserial -CAserial mps.seq
Signature ok
subject=/C=RU/O=OSMP/OU=OSMP-BGBilling/ ... rt@osmp.ru
Getting CA Private Key
Enter pass phrase for mps.key:
Если к нам приходил только CSR запрос - то нужно послать только osmp.pem.



Открытый ключ добавленного в доверенные/созданного/подписанного клиентского сертификата необходимо указать в конфиге. Для этого необходимо скопировать содержание открытого ключа одной строкой, без заголовка и окончания '-----BEGIN PUBLIC KEY-----'/'-----END PUBLIC KEY-----'

Например:

mps.1.cert.pem=MIGfMA0GCSqGSIb3DQE.....EmO5Phqo2FG52KwIDAQAB
Извлечь открытый ключ из сертификата можно так:

[amir@ts01 keys]$ openssl x509 -inform der -in osmp.cer -pubkey
#или
[amir@ts01 keys]$ openssl x509 -inform pem -in osmp.pem -pubkey



в server.log ошибка

03-01/14:42:18 WARN ["http-bio-/xxx.xxx.xxx.xxx-8443"-exec-1] MPSExecuter - MPSExecuter. Authentication error of payment system [remoteAddr=xxx.xxx.xxx.xxx, authType=null]. Для авторизации необходим клиентский сертификат

конфигурация модуля

mps.1.mode=1
mps.1.title=Comepay
mps.1.protocol=comepay
mps.1.login=x
mps.1.passw=x
mps.1.pid=1
mps.1.comment=$contract_title ($contract_comment)
mps.1.cert=1
mps.1.cert.pem=

помогите!!! что не так!

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 мар 2012, 18:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
nikav80 писал(а):

mps.1.cert.pem=

помогите!!! что не так!

может тут согласно доке угазать сертификат?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 мар 2012, 19:13 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 185
Карма: 0
естесно добавил!

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 мар 2012, 20:50 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
nikav80 писал(а):
в server.log ошибка

03-01/14:42:18 WARN ["http-bio-/xxx.xxx.xxx.xxx-8443"-exec-1] MPSExecuter - MPSExecuter. Authentication error of payment system [remoteAddr=xxx.xxx.xxx.xxx, authType=null]. Для авторизации необходим клиентский сертификат

Дайте угадаю - Вы браузером захотели проверить что Вам выдает?


На всякий случай:
Я ключи для кампея генерилил так:
Код:
openssl genrsa -des3 -out comepay.key 1024

openssl rsa -in comepay.key -out comepay_no_pass.key

mv comepay_no_pass.key comepay.key

openssl req -new -key comepay.key -out comepay.csr

openssl x509 -req -in comepay.csr -CA mps.pem -CAkey mps.key -out comepay.pem -days 3650 -CAcreateserial -CAserial mps.seq

openssl pkcs12 -export -in comepay.pem -inkey comepay.key -out comepay.p12

Добавляем наш ключ в кейсторе:
Код:
keytool -keystore .keystore -storepass bgbilling -alias comepay -importcert -file comepay.pem

Смотрим ключ:
Код:
openssl x509 -inform pem -pubkey -in comepay.pem

получаем:
Код:
-----BEGIN PUBLIC KEY-----

Весь этот текст между этими 2-мя строчками добавляем в конфиг, в mps.<x>.cert.pem

-----END PUBLIC KEY-----


Доп. инфа тут, тут и тут


P.S. На будущее - цитируйте ВСЮ документацию, а не только ее куски.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 мар 2012, 17:07 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 185
Карма: 0
Вы сами генерировали ключ для comepay? Они Вам не присылали запрос на подпись?

_________________
Версия 6.2


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 мар 2012, 19:25 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Да, сам.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 мар 2012, 21:07 
Не в сети
Клиент

Зарегистрирован: 15 ноя 2011, 17:56
Сообщения: 185
Карма: 0
Спасибо за помощь! Все получилось! :D

_________________
Версия 6.2


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

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


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

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


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

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