forum.bitel.ru http://forum.bitel.ru/ |
|
Проблема при аутентификации по сертификату. ОСМП. http://forum.bitel.ru/viewtopic.php?f=18&t=2833 |
Страница 1 из 1 |
Автор: | dale [ 04 сен 2009, 19:09 ] |
Заголовок сообщения: | Проблема при аутентификации по сертификату. ОСМП. |
Уважаемый коллеги подскажите пожалуйста, что нужно указывать в параметрах mps.1.cert.mod=??? откуда эта штука берется ??? mps.1.cert.exp= эта штука всегда равна 10001 ??? У меня например при генерации ключа показало что е=0x10001 это получается в шестнадцатеричном коде здесь надо указывать этот параметр. Когда в mod кидаю содержимое файла pem он матюкается. Когда в pem кидаю содержимое файла pem он тоже матюкается. Кидаю как написано только само тело без заголовка и конца. В одну строку. Кроме того этот pem взял и добавил в keystore на всякий пожарный. Один черт матюкается. Сертификаты генерил как описано тута: http://bgbilling.ru/v4.6/doc/ch17s03.html Сначала поднял https для него свой сертификат bgbilling alias. 1. Потом сгенерил ключ openssl genrsa -des3 -out mps.key 1024 2. Потом главный сертификат для модуля openssl req -new -x509 -days 1001 -key mps.key -out mps.pem 3. Добавил в доверенные keytool -keystore .keystore -alias mps -importcert -file mps.pem 4. Потом сгенерил ключ для ОСМП openssl genrsa -des3 -out osmp.key 1024 5. Потом генерю запрос на подпись openssl req -new -key osmp.key -out osmp.csr 6. Создаем подписанный сертификат. openssl x509 -req -in osmp.csr -CA mps.pem -CAkey mps.key -out osmp.pem -days 1001 -CAcreateserial -CAserial mps.seq После чего из osmp.pem создал pkcs12 сертификат его отправил в ОСМП в качестве клиенсткого, в качестве серверного дал им mps.pem.OSMP все это съел. Добавил в доверенные osmp.pem. также через keytool. в конфиг модуля кинул mps.1.cert.pem= в одну строку содержимое pem без заголовка и конца. В результате в логах 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: Objec tIdentifier() -- data isn't an object ID (tag = 2) Кстати чисто через логин и пароль все успешно. То бишь проблема чисто в сертификатах гдето. Может мне подписывать клиентский сертификат надо было не mps.key а bgbilling сертификатом который я ранее создал при подъеме https ??? |
Автор: | Amir [ 04 сен 2009, 19:33 ] |
Заголовок сообщения: | |
Цитата: mps.1.cert.mod=??? откуда эта штука берется ??? mps.1.cert.exp= это старый вариант. Может быть или mod+exp или enc или pem. Ошибку полностью выложите Цитата: 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: Objec
tIdentifier() -- data isn't an object ID (tag = 2) |
Автор: | dale [ 04 сен 2009, 20:35 ] |
Заголовок сообщения: | |
09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: ObjectIdentifier() -- data isn't an object ID (tag = 2) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(RSAKeyFactory.java:188) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at java.security.KeyFactory.generatePublic(KeyFactory.java:304) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.bean.Conf$MPSSystem.<init>(Conf.java:271) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.bean.Conf.<init>(Conf.java:395) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 0.security.InvalidKeyException: IOException: Objec tIdentifier() -- data isn't an object ID (tag = 2) 9-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at ru.bitel.bgbilling.server.util.Setup.getConfig(Setup.java:146) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.bean.MPSPaymentManager.processRequest(MPSPaymentManager.java:288) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.MPSExecuter.doPost(MPSExecuter.java:114) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.MPSExecuter.doGet(MPSExecuter.java:55) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at java.lang.Thread.run(Thread.java:619) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - Caused by: java.security.InvalidKeyException: IOException: ObjectIdentifier() -- data isn't an object ID (tag = 2) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.security.x509.X509Key.decode(X509Key.java:380) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.security.x509.X509Key.decode(X509Key.java:386) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.security.rsa.RSAPublicKeyImpl.<init>(RSAPublicKeyImpl.java:66) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.security.rsa.RSAKeyFactory.generatePublic(RSAKeyFactory.java:281) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(RSAKeyFactory.java:184) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - ... 29 more 09-04/02:02:05 ERROR [http-8443-2] server - Ошибка в конфиге mps.1, mid=8 09-04/02:02:05 ERROR [http-8443-2] server - MPSPaymentManager getInstance. Ошибка получения(сравнения) открытого ключа у клиентского сертификата службы платежей. Возможно в конфиге не указан открытый ключ 09-04/02:02:05 ERROR [http-8443-4] server - MPSPaymentManager getInstance. Ошибка получения(сравнения) открытого ключа у клиентского сертификата службы платежей. Возможно в конфиге не указан открытый ключ 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - java.lang.NullPointerException 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.bean.MPSPaymentManager.processRequest(MPSPaymentManager.java:383) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.MPSExecuter.doPost(MPSExecuter.java:114) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.mps.MPSExecuter.doGet(MPSExecuter.java:55) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 09-04/02:02:05 ERROR [http-8443-2] LoggingPrintStream - at java.lang.Thread.run(Thread.java:619) |
Автор: | dale [ 07 сен 2009, 13:02 ] |
Заголовок сообщения: | |
Amir писал(а): это старый вариант. Может быть или mod+exp или enc или pem.
Я понимаю, что сейчас возможно 3 вариантами ключ указать. Вы пожалуйста ответьте на вопросы: Что туда подставлять ??? Откуда эти данные я должен взять? И ещё должен ли я клиентский сертификат закинуть в keystore ??? или достаточно того что я запихал его в конфиг модуля? |
Автор: | Amir [ 07 сен 2009, 13:08 ] |
Заголовок сообщения: | |
Добавлять в keystore не обязательно, достаточно этого пункта 3. Добавил в доверенные keytool -keystore .keystore -alias mps -importcert -file mps.pem Надо в pem содержимое pem файла. Точно не опечатались и не удалили лишний символ из последовательности? Похоже падает именно на попытке распарсить значение .pem. |
Автор: | dale [ 07 сен 2009, 15:23 ] |
Заголовок сообщения: | |
Указываю все верно. Проверил ещё раз. Теперь вопрос такой, все таки как черещ mod+exp мне дать ключ. И ещё, при генерации я домены правильно не указывал забил на этот момент, может ли не работать из за этого ??? |
Автор: | dale [ 07 сен 2009, 15:25 ] |
Заголовок сообщения: | |
#вкл/выкл - 1/0 mps.1.mode=1 #Название патежной системы mps.1.title=OSMP #Используемый протокол mps.1.protocol=osmp #логин пароль для аутентификации системы платежей. должны различаться для систем mps.1.login=111 mps.1.passw=111 #разница во времени в минутах между сервером биллинга и системой платежей (например система работает по московскому времени, биллинг #по уфимскому +2 часа - 180) #mps.1.timeoffset= #допустимая разница во времени между временем платежа и временем биллинга, т.е сначала высчитывается время платежа через timeoffset, ] #затем время сверяется по параметру paytime, например timeoffset=180, paytime=600, время биллинга 20:00, пришедшее время платежа: 09:00-платеж не пройдет #mps.1.paytime= #id нередактируемого типа платежа mps.1.pid=8 #тип поиска. В CyberPlat возможно использование несколько типов поисков (type>0; например по логину DialUp или Voice) #а основной набор терминалов оплаты - цифровой, т.е буквы набрать на них набрать нельзя #Если будет использоваться такой тип поиска то необходимо его согласовать с CyberPlat и конфиг может быть таким: #поиск по логину DialUp (или Voip) mps.1.search.mode=login #id модуля mps.1.search.mid=1 #поиск по номеру телефона модуля Voice #mps.1.search.2.mode=voice #mps.1.search.2.mid=4 #рекомендуемый же тип поиска - логин модуля mps (уникальное для модуля целое положительное число, которое клиент #может сам выбрать у себя на странице web статистики - для этого у него должна быть добавлена услуга этого модуля) #mps.1.search.mode=mps_login #проверка сертификата (очень рекомендуется) #вкл/выкл - 1/0 mps.1.cert=1 |
Автор: | Amir [ 07 сен 2009, 16:15 ] |
Заголовок сообщения: | |
В доке неправильно написано было Цитата: При необходимости можно сконвертировать сертификат в текстовый формат:
openssl x509 -inform der -in osmp.cer -out osmp.pem Нужно выполнить openssl x509 -inform der -in osmp.cer -pubkey или для pem формата openssl x509 -inform pem -in osmp.pem -pubkey и взять значение из -----BEGIN PUBLIC KEY----- ... -----END PUBLIC KEY----- |
Автор: | dale [ 08 сен 2009, 15:26 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Спасибо проблема решена. |
Автор: | Orlov [ 15 дек 2009, 12:08 ] |
Заголовок сообщения: | Проблема при аутентификации по сертификату. ОСМП. |
Добрый день. Перечитал весь форум и решил написать в этой ветке ОСМП. Начинаю стыковаться с платежами ОСМП. 1) с помощью утилиты create_server_selfsigned_createselfsigned.sh создал сертификат получил 3 файла .keystore KomTV Ltd._KhsdBL_JKQVywtrnCHogICjmMEmHyZ0RLJbrNyX.keystore KomTV Ltd._KhsdBL_JKQVywtrnCHogICjmMEmHyZ0RLJbrNyX.p12 2) сгенерил клиентские сертификаты с помощью create_client.bat получил 3 файла .keystore.cer KomTV Ltd._XNP94K_Ebfw2beFtTfhzlNGPLFwoDCLxvuKwe1X.p12 KomTV Ltd._XNP94K_Ebfw2beFtTfhzlNGPLFwoDCLxvuKwe1X.txt 3) по инструкции прописал mps.1.cert=1 mps.1.cert.pem - взял из openssl x509 -inform pem -in osmp.pem -pubkey mps.1.cert.mod=взял из файла KomTV Ltd._XNP94K_Ebfw2beFtTfhzlNGPLFwoDCLxvuKwe1X.txt mps.1.cert.exp= 10001 4) на виндовой машине импортировал сертификат KomTV Ltd._XNP94K_Ebfw2beFtTfhzlNGPLFwoDCLxvuKwe1X.p12 указав при этом соответственно пароль XNP94K 5) теперь браузером иду на https://x.x.x.x:8443/bgbilling/mpsexecu ... 1&sum=1.00 и получаю запрос на ввод login и password!!! Откуда? Подскажите пожалуйста, ведь у меня отключена аутентификация!! В конфиге прописано mps.1.protocol.ext=noBaseAuth Подскажите пожалуйста, что не так. Всю голову сломал уже. |
Автор: | Amir [ 15 дек 2009, 14:53 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Какая версия? Что в server.log|server.out? |
Автор: | Orlov [ 15 дек 2009, 15:16 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
версия - 4.6 bill вер. 4.6 сборка 201 от 17.07.2009 11:40:15 mps вер. 4.6 сборка 175 от 24.09.2009 13:14:59 в логах 1) server.log 12-15/18:49:55 WARN [http-8443-6] server - MPSExecuter. Authentication error of payment system [remoteAddr=10.10.0.15, authType=null]. ??? ??????????? ????????? ?????????? ?????????? 2) server.out [root@billing /usr/local/BGBillingServer]# cat log/server.out Dec 15, 2009 3:32:33 PM org.apache.catalina.startup.Embedded start INFO: Starting tomcat server Dec 15, 2009 3:32:33 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.18 Dec 15, 2009 3:32:33 PM org.apache.catalina.startup.ContextConfig defaultWebConfig INFO: No default web.xml Dec 15, 2009 3:32:33 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Dec 15, 2009 3:32:33 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 Dec 15, 2009 3:32:34 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8443 Dec 15, 2009 3:32:34 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8443 |
Автор: | Amir [ 15 дек 2009, 19:32 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Судя по количеству вопросиков нет сертификата - либо сертификат в браузер не импортировался, либо .keystore в биллинге другой, с другим сертификатом. Можете попробовать сгенерировать по новой документации, но там openssl нужен. http://www.bgbilling.ru/v5.0/doc/ch17s03.html http://www.bgbilling.ru/v5.0/doc/ch01s14.html |
Автор: | Orlov [ 15 дек 2009, 20:44 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Ладно. Давайте попорядку, если никто не против. ![]() Все что я делал согласно вашего "фэн-шуя". 1) у меня биллинг работает на FreeBSD [root@billing /usr/local/BGBillingServer]# uname -a FreeBSD billing 7.0-RELEASE-p12 FreeBSD 7.0-RELEASE-p12 #0: Sat Jul 18 10:20:32 UTC 2009 admin@billing:/usr/src/sys/i386/compile/my_kernel_10 i386 [root@billing /usr/local/BGBillingServer]# Информация по самому биллингу - писал выше. 2) папка где установлен биллинг вот эта /usr/local/BGBillingServer 3) естественно поначалу у меня нет в /usr/local/BGBillingServer никакого .keystore [root@billing /usr/local/BGBillingServer]# ls -al | grep .keystore [root@billing /usr/local/BGBillingServer]# 3) начинаем вот отсюда http://www.bgbilling.ru/v5.0/doc/ch01s14.html Подготавливаем хранилище для работы. Заряжаем: [root@billing /usr/local/BGBillingServer]# keytool -genkey -alias bgbilling -keyalg RSA -keystore .keystore Enter keystore password:тут вбиваем пароль на хранилище (рекомендуется bgbilling, собственно я его и вбивал) Re-enter new password:повтор пароля What is your first and last name? [Unknown]: http://www.yourcompanyname.ru What is the name of your organizational unit? [Unknown]: ISP What is the name of your organization? [Unknown]: CompanyName What is the name of your City or Locality? [Unknown]: Muhosransk What is the name of your State or Province? [Unknown]: Muhosransk Region What is the two-letter country code for this unit? [Unknown]: RU Is CN=www.yourcompanyname.ru, OU=ISP, O=CompanyName, L=Muhosransk, ST=Muhosransk Region, C=RU correct? [no]: yes Enter key password for <bgbilling> (RETURN if same as keystore password): еще раз вбил bgbilling Re-enter new password:и еще раз bgbilling [root@billing /usr/local/BGBillingServer]# У нас появился файлик .keystore. Собственно вот: [root@billing /usr/local/BGBillingServer]# ls | grep .keystore .keystore [root@billing /usr/local/BGBillingServer]# Теперь можно даже просмотреть содержимое хранилища вот так [root@billing /usr/local/BGBillingServer]# keytool -keystore .keystore -list Enter keystore password:тут вколачиваем опять bgbilling Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry bgbilling, 16.12.2009, PrivateKeyEntry, Certificate fingerprint (MD5): 30:4C:3E:70:41:42:64:DC:32:C4:24:94:E5:96:0E:99 [root@billing /usr/local/BGBillingServer]# 4) Теперь по фэншую доков надо экспортировать серверный сертификат для того, чтобы удаленная сторона могла его добавить в доверенные. Это делаем так: [root@billing /usr/local/BGBillingServer]# keytool -keystore .keystore -alias bgbilling -exportcert -file yourcompany.cer Enter keystore password:тут опять вколачиваем пароль на хранилище (bgbilling) Certificate stored in file <yourcompany.cer> [root@billing /usr/local/BGBillingServer]# Получили файл с экспортированным сертификатом yourcompany.cer. Который является самоподписанным(поправьте меня если не так). 5) Теперь нам нужно подписать CSR-запрос, присланный от системы платежей. Это делаем в несколько подэтапов 5.1) Генерируем ключ, который будет зашифрован паролем [root@billing /usr/local/BGBillingServer]# 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:сюда вколачиваем секретный пароль (к примеру popa) Verifying - Enter pass phrase for mps.key:тот же пароль еще раз (popa) [root@billing /usr/local/BGBillingServer]# получили ключ mps.key 5.2) Создаем на основе ключа сертификат [root@billing /usr/local/BGBillingServer]# openssl req -new -x509 -days 1200 -key mps.key -out mps.pem Enter pass phrase for mps.key:здесь вклачиваем popa (пароль на секретный ключ) 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) [AU]:RU State or Province Name (full name) [Some-State]:Muhosransk Region Locality Name (eg, city) []:Muhosransk Organization Name (eg, company) [Internet Widgits Pty Ltd]:CompanyName Ltd. Organizational Unit Name (eg, section) []:ISP Common Name (eg, YOUR name) []:www.yourcompanyame.ru Email Address []:support@yourcompanyname.ru [root@billing /usr/local/BGBillingServer]# получили файлик - mps.pem 5.3) Добавляем полученный сертификат в доверенные вот так [root@billing /usr/local/BGBillingServer]# keytool -keystore .keystore -alias osmp -importcert -file mps.pem Enter keystore password: Owner: EMAILADDRESS=techsupport@yorcompanyname.ru, CN=www.yourcompanyname.ru, OU=ISP, O=CompanyName Ltd., L=Muhosransk, ST=Muhosransk Region, C=RU Issuer: EMAILADDRESS=techsupport@yorcompanyname.ru, CN=www.yourcompanyname.ru, OU=ISP, O=CompanyName Ltd., L=, ST=Muhosransk Region, C=RU Serial number: d32c95fa6f50d5c8 Valid from: Wed Dec 16 00:25:38 2009 until: Sat Mar 30 00:25:38 2013 Certificate fingerprints: MD5: 02:94:D3:91:0A:98:39:53:AD:83:7E:F6:29:82:F2:CD SHA1: EE:96:16:BE:99:F3:E0:2D:77:08:CF:3F:D5:D8:C0:69:0F:75:50:11 Signature algorithm name: SHA1withRSA Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 03 97 C4 4E 0D 10 84 3D C2 D8 94 BE 5A 9A AB 87 ...N...=....Z... 0010: 13 CF 4C B3 ..L. ] ] #2: ObjectId: 2.5.29.19 Criticality=false BasicConstraints:[ CA:true PathLen:2147483647 ] #3: ObjectId: 2.5.29.35 Criticality=false AuthorityKeyIdentifier [ KeyIdentifier [ 0000: 03 97 C4 4E 0D 10 84 3D C2 D8 94 BE 5A 9A AB 87 ...N...=....Z... 0010: 13 CF 4C B3 ..L. ] [EMAILADDRESS=techsupport@yorcompanyname.ru, CN=www.yorcompanyname.biz, OU=ISP, O=CompanyName Ltd., L=Muhosransk, ST=MuhosranskRegion, C=RU] SerialNumber: [ d32c95fa 6f50d5c8] ] Trust this certificate? [no]: y Certificate was added to keystore [root@billing /usr/local/BGBillingServer]# Получили то, что самоподписанный сертификат находится в хранилище, просмотреть так: [root@billing /usr/local/BGBillingServer]# keytool -keystore .keystore -list Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 2 entries bgbilling, 16.12.2009, PrivateKeyEntry, Certificate fingerprint (MD5): 30:4C:3E:70:41:42:64:DC:32:C4:24:94:E5:96:0E:99 osmp, 16.12.2009, trustedCertEntry, Certificate fingerprint (MD5): 02:94:D3:91:0A:98:39:53:AD:83:7E:F6:29:82:F2:CD [root@billing /usr/local/BGBillingServer]# 6) Теперь в моем случае надо подписать CSR-запрос, который мне прислали из ОСМП. Делаем так: [root@billing /usr/local/BGBillingServer]# openssl x509 -req -in yourcompanyname_cert.req -CA mps.pem -CAkey mps.key -out osmp.pem -days 1200 -CAcreateserial -CAserial mps.seq Signature ok subject=/C=RU/ST=Moscow/L=Moscow/O=Ciberpay/OU=IT Dept/CN=yourcompanyname Ciberpay/emailAddress=support@ciberpay.ru Getting CA Private Key Enter pass phrase for mps.key:тут вколачиваем пароль на ключ (в примере был popa) [root@billing /usr/local/BGBillingServer]# на выходе получили файл osmp.pem-подписанный сертификат из запроса от ОСМП, который по фэншую доков надо отправить в ciberpay (читал вот тут http://www.bgbilling.ru/v4.6/doc/ch17s03.html) На этом действия по работе с сертификатами в моем случае закончились. И теперь, глубокоуважаемые разработчики, подскажите - что мне прописать в нофиге модуля, чтобы у меня заработали платежи на основе всего вышесозданного. В голове уже каша, надеюсь на понимание и помощь. Хоть мануал толковый на живом примере получится. Заранее спасибо. |
Автор: | Cromeshnic [ 16 дек 2009, 09:06 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Тему читал по-диагонали. Просто кину сюда мануал, сделанный для себя после настройки osmp в биллинге - может пригодится: Читаем bgbilling.ru В файле /usr/local/BGBillingServer/.keystore хранятся закрытые ключи и сертификаты, используемые биллингом. Тулза для работы с keystore называется keytool Пароль от keystore - bgbilling Из keystore можно извлечь сертификаты: Код: keytool -keystore /usr/local/BGBillingServer/.keystore -export -alias tomcat -rfc -file tomcat.pem С алиасом tomcat хранится закрытый ключ сервера. При экспорте же мы получаем сертификат сервера, закрытый ключ с помощью keytool извлечь нельзя. Извлечь private key можно например так: берем файлик DumpPrivateKey.java (см код ниже), компилируем его: Код: javac DumpPrivateKey.java Запускаем: Код: java -cp . DumpPrivateKey > tomcat.pkcs8 На выходе имеем tomcat.pkcs8 Конвертируем его в base64: Код: (echo "-----BEGIN PRIVATE KEY-----";openssl enc -in tomcat.pkcs8 -a;echo "-----END PRIVATE KEY-----")>tomcat.b64 теперь можно пропустить пункт в доке биллинга про генерацию ключа и сертификата сервера: вместо mps.pem в доке используем экспортированный tomcat.pem, вместо mps.key - tomcat.b64 Например, создаем клиентский сертификат для osmp: Код: #генерируем ключ для клиентского сертификата: openssl genrsa -des3 -out osmp.key 1024 #создаем CSR - запрос на подпись сертификата openssl req -new -key osmp.key -out osmp.csr #подписываем csr своим закрытым ключом: openssl x509 -req -in osmp.csr -CA tomcat.pem -CAkey tomcat.b64 -out osmp.pem -days 1001 -CAcreateserial #osmp нужен клиентский сертификат в формате pkcs12: openssl pkcs12 -export -in osmp.pem -inkey osmp.key -certfile tomcat.pem -name "OSMP" -out osmp.p12 При создании клиентского сертификата в последней комманде указывается пароль - именно его нужно передать в osmp. В osmp отправляются: серверный сертификат tomcat.pem и клиентский сертификат osmp.p12, а также пароль для клиентского сертификата. !!! Ни в коем случае не отправляется tomcat.pkcs8 или tomcat.b64 - это наш закрытый ключ! После подписи клиентского сертификата эти файлы должны быть удалены. зы. DumpPrivateKey.java : Код: import java.io.FileInputStream;
import java.security.KeyStore; import java.security.Key; public class DumpPrivateKey { static public void main(String[] args) { try { KeyStore ks = KeyStore.getInstance("jks"); ks.load(new FileInputStream("/usr/local/BGBillingServer/.keystore"),"bgbilling".toCharArray()); Key key = ks.getKey("tomcat","bgbilling".toCharArray()); System.out.write(key.getEncoded()); } catch (Exception e) { e.printStackTrace(); } } } |
Автор: | Orlov [ 16 дек 2009, 09:12 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Не, круто,конечно, выучить еще и java... ![]() Но вы не находите, что как-то вообще все замороченно получается. Не, ждем ответа разработчиков. |
Автор: | Orlov [ 16 дек 2009, 09:15 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Продолжу свой вопрос: После всех действий, которые я осуществил выше у меня есть в наличии следующие файлы (поправьте меня, если я что-то неправильно распишу): 1) /usr/local/BGBillingServer/.keystore - хранилище сертификатов с секретным ключом и с сертификатами 2) /usr/local/BGBillingServer/yourcompanyname_cert.req - CSR-запрос от ОСМП 3) /usr/local/BGBillingServer/yourcompanyname.cer - экспортированный из хранилища /usr/local/BGBillingServer/.keystore, самоподписанный сертфиикат 4) /usr/local/BGBillingServer/mps.key - сгенерированный нами ключ 5) /usr/local/BGBillingServer/mps.pem - созданный на основе mps.key сертификат, который мы добавили в хранилище .keystore 6) /usr/local/BGBillingServer/mps.seq появился в процессе создания mps.pem, я честно не знаю что это такое и для чего это нужно. 7) /usr/local/BGBillingServer/osmp.pem - подписанный сертификат, полученный из CSR-запроса /usr/local/BGBillingServer/yourcompany_cert.req Теперь осталось совсем чуть-чуть, надо в конфиге модуля указать 1)mps.1.cert 2)mps.1.cert.pem 3) И что-то отправить в осмп. Так, ну про mps.1.cert - понятно, включаем проверку сертификата mps.1.cert=1 Я вытащил public key из /usr/local/BGBillingServer/mps.pem используя команду openssl x509 -inform pem -in mps.pem -pubkey. В выводе это команды взял все, что между BEGIN PUBLIC KEY и END PUBLIC KEY. И затем вставил этот ключ в mps.1.cert.pem. Судя по докам параметр mps.1.cert.exp можно вообще закоментировать. (опять, разработчики, поправьте, если это не так!!!) После этого я сконвертировал в pkcs12-формат файл сертификата mps.pem командой openssl pkcs12 -export -in mps.pem -inkey mps.key -out osmp.p12 После этого добавил на рабочей станции osmp.p12 в доверенные и пошел по тестовой ссылке https://x.x.x.x:8443/bgbilling/mpsexecu ... 1&sum=1.00 проверять работу платежной системы, вот так . И получаю запрос на ввод логина и пароля!!! При этом mps.1.protocol.ext=noBaseAuth!!! Почему? |
Автор: | Amir [ 16 дек 2009, 14:23 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Вы не сможете проверить с помощью IE, так как у вас нет закрытого ключа - вы подписывали запрос. Запрос содержит только открытый ключ, который вы подписываете своим закрытым mps.key. Цитата: После этого я сконвертировал в pkcs12-формат файл сертификата mps.pem командой openssl pkcs12 -export -in mps.pem -inkey mps.key -out osmp.p12 Этого не нужно, mps.key mps.pem mps.seq должны оставаться только у вас. mps.seq - это счетчик - для каждого нового созданного/подписанного клиентского сертификата он будет увеличиваться. Его значение храниться в сертификате. Для платежной системы нужны только yourcompanyname.cer и оsmp.pem Чтобы проверить - нужен закрытый ключ, для этого придется генерить новый ключ, а не подписывать запрос на подпись. Не дает зайти потому что в конфиге прописан ключ osmp.pem А вы пытаетесь подключиться с ключем mps.pem mps.key mps.pem - это промежуточный сертификат для подписывания. |
Автор: | Orlov [ 18 дек 2009, 08:58 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
ПОДРОБНАЯ ИНСТРУКЦИЯ ПО ПОДПИСЫВАНИЮ СЕРТИФИКАТА ДЛЯ ПЛАТЕЖНОЙ СИСТЕМЫ Вообщем заработало. Опишу подробно как все сделал. Начну с того, что в моем случае мне прислали CSR-запрос на подпись(мне прислали файл mycompanyname.req), поэтому распишу то, как я его подписывал. Случай с созданием самоподписанного сертификата очень хорошо расписан в документации вот здесь.http://www.bgbilling.ru/v4.6/doc/ch17s03.html В принципе там описан и случай с подписанием CSR-запроса. Ну-да ладно, я посчитал нужным отписаться о результатах ибо меня самого бесит то, когда на технических форумах задают вопрос, потом пишут - "ПРОБЛЕМА РЕШЕНА", а это драгоценное для кого-то РЕШЕНИЕ не удосуживаются выложить. Приступим. 1) Начну с того, что у меня BGBilling работает на FeeBSD [root@billing /]# uname -a FreeBSD billing 7.0-RELEASE-p12 FreeBSD 7.0-RELEASE-p12 #0: Sat Jul 18 10:20:32 UTC 2009 admin@billing:/usr/src/sys/i386/compile/my_kernel_10 i386 [root@billing /]# 2) Сам BGBilling установлен здесь /usr/local/BGBillingServer/ 3) Создаем хранилище сертификатов [root@billing /]# cd /usr/local/BGBillingServer/ [root@billing /usr/local/BGBillingServer]#keytool -genkey -alias bgbilling -keyalg RSA -keystore .keystore После ввода этой команды у нас спросят пароль на хранилище, которое мы создаем. Следует помнить, что BGBilling по умолчанию будет лезть в хранилище с паролем "bgbilling", поэтому для начала просто задайте пароль на хранилище "bgbilling". Потом уже можно поизвращаться со своим паролем(другим), но тогда в конфиге BGBilling надо будет прописать этот пароль. Как прописать - где-то в документации видел или на форуме. Не могу сейчас вспомнить где (может разработчики откомментируют мой пост и ткнут где). После ввода пароля на хранилице у нас будут спрашивать различные вопросы, смысл которых впринципе понятен. Там вводим информацию о нашей организации. Получили файл хранилища /usr/local/BGBillingServer/.keystore Просмотреть содержимое хранилища можно так [root@billing /usr/local/BGBillingServer]# keytool -keystore .keystore -list Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entries bgbilling, Dec 16, 2009, PrivateKeyEntry, Certificate fingerprint (MD5): 11:5E:97:2C:EF:28:E9:B8:34:55:4E:47:C2:7B:AE:A8 4) Теперь экспортируем серверный сертфикат из хранилища, чтобы удаленная сторона могла добавить его в доверенные keytool -keystore .keystore -alias bgbilling -exportcert -file mycompanyname.cer После ввода этой команды нас попросят ввести пароль на хранилище (вводим "bgbilling") На выходе получили файл /usr/local/BGBillingServer/mycompanyname.cer 5) Если вдруг потребуется, то можно сконвертировать этот серверный сертификатв формат x509base64. Это делается так openssl x509 -inform der -in mycompanyname.cer -out mycompanyname.pem На выходе получим файл /usr/local/BGBillingServer/mycompanyname.pem 6) Теперь генерим ключ, зашифрованный паролем, на основе которого будем генерить главный сертификат модуля MPS openssl gersa -des3 -out mps.key 1024 У нас спросят пароль для генерирования ключа, вводим его и запоминаем(к примеру я ввел - testtest) На выходе получаем файлик /usr/local/BGBillingServer/mps.key 7) Создаем на основе mps.key главный сертификат модуля openssl req -new -x509 -days 1200 -key mps.key -out mps.pem После ввода команды спросят пароль на ключ mps.key в нашем случае testtest И опять отвечаем на наводящие вопросы. Ничего сложного там нет. На выходе получаем файл mps.pem 8 ) Теперь добавляем полученный сертификат в хранилище keytool -keystore .keystore -alias mps -importcert -file mps.pem У нас спросят пароль на хранилище, вбиваем (как мы помним) "bgbilling" 9) Можно просмотреть опять содержимое хранилища и увидеть, что в нем появилось нечто новое ![]() [root@billing /usr/local/BGBillingServer]# keytool -keystore .keystore -list Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 2 entries bgbilling, Dec 16, 2009, PrivateKeyEntry, Certificate fingerprint (MD5): 11:5E:97:2C:EF:28:E9:B8:34:55:4E:47:C2:7B:AE:A8 mps, Dec 16, 2009, trustedCertEntry, Certificate fingerprint (MD5): C0:3B:14:98:23:F3:AF:46:28:85:46:F3:5E:EC:C4:F7 [root@billing /usr/local/BGBillingServer]# 10) Так как в моем случае мне прислали CSR-запрос на подпись, то я на основе запроса создаю подписанный сертификат openssl x509 -rq -in mycompanyname.req -CA mps.pem -CAkey mps.key -out ciberplat.pem -days 1200 -CAcreateserial -CAserial mps.seq После ввода команды у нас спросят пароль на ключ mps.key, вводим testtest На выходе получили ciberplat.pem - подписанный еами сертификат. После этого отправляем этот подписанный сертификат ciberplat.pem обратно в организацию, которая прислала mycompanyname.req. Больше в эту организацию ничего не отсылаем. И сразу хочу заметить, что проверить работу платежей с помощью этого сертификата и браузера не получится. Проверить смогут только товарищи из той организации, которая прислал CSR-запрос (это все потому что вы не знаете пароль на их закрытый ключ). 11) Теперь вытаскиваем public key из сертификата ciberplat.pem openssl x509 -inform pem -in ciberplat.pem pubkey Из вывода копируем все, что находится между BEGIN PUBLIC KEY и END PUBLIC KEY и вставляем в mps.1.cert.pem конфига MPS. 12) И добавляем в хранилище полученный сертификат ciberplat.pem [root@billing /]# keytool -keystore .keystore -alias cibercrypt -importcert -file cibercrypt.pem Спросит пароль на хранилище (bgbilling) 13) Теперь опять можно просмотреть содержимое хранилища и увидеть, что там снова появилось нечто новое [root@billing /usr/local/BGBillingServer]# keytool -keystore .keystore -list Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 3 entries bgbilling, Dec 16, 2009, PrivateKeyEntry, Certificate fingerprint (MD5): 11:5E:97:2C:EF:28:E9:B8:34:55:4E:47:C2:7B:AE:A8 mps, Dec 16, 2009, trustedCertEntry, Certificate fingerprint (MD5): C0:3B:14:98:23:F3:AF:46:28:85:46:F3:5E:EC:C4:F7 cibercrypt, Dec 18, 2009, trustedCertEntry, Certificate fingerprint (MD5): E2:49:1F:6B:7E:06:A0:AB:14:4E:1D:47:BD:DF:E0:20 [root@billing /usr/local/BGBillingServer]# На этом все. Если что-то не так, то ткните носом ибо хочу, чтобы те, кто только собирается это делать - тратили меньше времени на это. Спасибо. |
Автор: | Cromeshnic [ 18 дек 2009, 09:14 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
http://wiki.bgbilling.ru/ ![]() Сюда можете продублировать ещё ![]() |
Автор: | Amir [ 18 дек 2009, 18:49 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Цитата: (это все потому что вы не знаете пароль на их закрытый ключ) потому что при подписывании запроса они закрытый ключ не присылают ни в каком виде, даже запароленном. Цитата: 11) Теперь вытаскиваем public key из сертификата mps.pem openssl x509 -inform pem -in mps.pem pubkey Из вывода копируем все, что находится между BEGIN PUBLIC KEY и END PUBLIC KEY и вставляем в mps.1.cert.pem конфига MPS. Из сертификата ciberplat.pem |
Автор: | Orlov [ 19 дек 2009, 08:16 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Amir писал(а): Цитата: (это все потому что вы не знаете пароль на их закрытый ключ) потому что при подписывании запроса они закрытый ключ не присылают ни в каком виде, даже запароленном. Цитата: 11) Теперь вытаскиваем public key из сертификата mps.pem openssl x509 -inform pem -in mps.pem pubkey Из вывода копируем все, что находится между BEGIN PUBLIC KEY и END PUBLIC KEY и вставляем в mps.1.cert.pem конфига MPS. Из сертификата ciberplat.pem ИМЕННО!!! Выяснилось это при тетировании с платежными системами!!! Плюс к этому надо добавить в хранилище сертификат ciberplat.pem!!! Обновил инструкцию!!!! |
Автор: | Orlov [ 19 дек 2009, 08:23 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Сейчас еще состряпаю подробную инструкцию по созданию самоподписанного сертификата. |
Автор: | JIoIIIaDka [ 21 сен 2010, 20:17 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Хотелось бы дополнить, или доразобраться до конца.. Начнем с того, что бгбиллинг просит, чтобы в сертификате обязательно была key pair (причем пароль на ключ должен быть или пустой или пароль должен совпадать с паролем на хранилище). Собсно он ее (key pair) и делает корневым сертификатом модуля MPS. В предыдущем описанном случае все, в принципе, работает, но мы получаем ситуацию, когда киберплат.pem подписан mps.key/cert, а никак не key pair созданной при создании хранилища; в этом случаем получается что нам надо отдать платежной системе 2 корневых/доверенных сертификата, один от ключевой пары, который и есть доверенный при обращении к модулю MPS, второй это mps.cert (от mps.key), которым подписан киберплат.pem (ведь он только его покажет как подписанта сертификата киебрплат). Как вариант можно сделать так: 1. создаем хранилище сертификатов при помощи keytool, пароль на ключ забиваем такой же как и на само хранилище. 2. При помощи portecle выковыриваем из ключевой пары секретный ключ и .pem (или экспортируем pem/cert из хранилища, фактически без разницы), который потом импортировать в хранилище не надо, он уже есть в виде key pair. 3. Либо 3.1). создаем ключ на киберплат.key (любую ПС, пусть будет киберплат) 3.2). создаем запрос на подпись (к примеру, для проверки в браузере самим) либо 3.1) нам ПС присылает запрос на подпись. 4.Создаем подписанный сертификат из запроса (вот тут как раз мы подписываем все это ключом .key и сертификатом .pem выковырянным из ключевой пары, он и будет подписантом сертификата и доверенным сертификатом для ПС) 5. Если необходимо генерим .p12 (для проверки запросов в браузере. импортируем оба сертификата и проверяем запросы, не забыв вбить в модуль MPS открытый ключ из клиентского сертификата), либо отсылаем киберплат.pem платжной системе, вместе с доверенным сертификатом (выковырянным из key pair). Минусы: пароль на храналище и пароль на .key одинаковые (хотя мы и так может его выковырять в предыдущем случае при 2х сертификатах, но там хотя бы клиентский сертификат подписан другим сертификатом/ключем, пароль на который храналище не знает) Так вот, собсно, глупый вопрос, как все таки правильнее всего нужно сделать ? В теории правильнее всего этот вариант, т.к. доверенный сертификат для ПС и будет подписантом клиентского сертификата и правильно будет показывать иерархию подписания; но тут возникает проблема в безопастности при получении кем-то пароля рута от сервера (а в первом случае у нас в хранилище только сертификат, а ключ мы можем спрятать). С другой стороны в прошлом случае даже если мы отправим ПС доверенный mps.cert/pem и клиентский сертификат., то биллинг (модуль MPS) все равно запросит импорт его главного сертификата (который он берет из хранилища из key pair). Как-то так.. м? |
Автор: | Amir [ 22 сен 2010, 13:02 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
Не совсем понял в чем проблема... Создается главный ключ для mps, он добавляется в доверенные. Далее создается клиентская пара ключей osmp, которые подписывается ключем mps и сертификат osmp автоматический становится доверенным. Далее осмп передается клиентский сертификат с приватным ключем и сертификат сервера (не mps, потому что при работе протокола сертификат mps нужен только для определения доверенности клиентского). Cyberplat обычно посылает запрос на подпись, т.е. у них уже есть своя пара ключей и ее нужно только подписать ключем mps. |
Автор: | JIoIIIaDka [ 22 сен 2010, 13:56 ] |
Заголовок сообщения: | Re: Проблема при аутентификации по сертификату. ОСМП. |
спасибо за скобки, разобрался. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |