Взаимодействие по SSL
Для аутентификации соединений с серверами ЮMoney вам нужен сертификат, выданный удостоверяющим центром ООО НКО «ЮМани» (NBCO YooMoney). Чтобы его получить, вам нужно создать запрос на сертификат (в формате CSR), заполнить заявку на получение сертификата и отправить запрос и заявку на сертификат по электронной почте своему менеджеру в ЮMoney.
Получение сертификата
Для генерации запроса на сертификат в формате CSR используйте утилиту OpenSSL.
Шаг 1. Создание приватного ключа
Выполните команду:
openssl genrsa -aes256 -out private.key 2048
Введите пароль и подтвердите. Например:
Enter pass phrase for private.key: 12345 Verifying - Enter pass phrase for private.key: 12345
В директории выполнения команды будет создан файл с приватным ключом:
private.key
.Это секретная информация. Сохраняйте конфиденциальность приватного ключа. Файл с приватным ключом зашифрован и защищен паролем.
Шаг 2. Создание CSR-запроса на сертификат
Выполните команду:
openssl req -new -key private.key -out request.csr
Введите необходимые параметры для запроса на сертификат. Используйте только латинские символы.
При создании CSR-запроса в Windows укажите в команде путь к конфигурационному файлу OpenSSL. Для этого добавьте к команде ключ
-config "{path}" -out
. Пример команды:req -new -key private.key -config "C:\openssl-WIN32\openssl.cnf" -out request.csr
Пример заполнения параметров запроса на сертификат
Параметр | Значение | Примечание |
---|---|---|
Country Name (2 letter code) [AU]: | RU | Обязательное |
State or Province Name (full name): | Russia | Обязательное |
Locality Name (eg, city): []: | Moscow | Необязательное |
Organization Name (eg, company) [Internet Widgits Pty Ltd]: | OOO Predpriyatie | Введите необходимые параметры для запроса на сертификат. Используйте только латинские символы. |
Organizational Unit Name (eg, section) []: | Необязательное | |
Common Name (eg, YOUR name) []: | /business/predpriyatie | Обязательное поле. /business/ — обязательная часть этого параметра, ее менять не нужно. После нее могут следовать любые латинские буквы без пробелов. Например, название вашей компании латиницей. |
Email Address: | predpriyatie@example.com | Обязательное |
В директории, в которой была выполнена команда, будет создан файл
request.csr
.Шаг 3. Получение электронной подписи для заявки на сертификат
Электронная подпись нужна для заполнения заявки на сертификат, она содержится в файле сертификата.
Чтобы получить электронную подпись, выполните команду:
openssl req -in request.csr -noout -text
Текстовым представлением электронной подписи является часть ответа после строки
Signature Algorithm: sha1WithRSAEncryption
. Например:Signature Algorithm: sha1WithRSAEncryption 5b:67:42:8c:5a:a7:bc:bf:05:99:77:39:2e:e7:e7:5d:8e:47: 09:e9:5a:46:62:3c:b1:63:2a:de:06:26:54:a4:12:b4:17:b2: ca:ff:f4:3f:c0:09:ee:7a:88:5b:b9:f5:04:cb:24:bd:5f:bd: 3b:f7:38:54:71:1c:fe:98:17:66:ae:72:2d:8a:31:34:94:30: 58:ad:79:60:e5:ca:24:83:8b:c7:96:11:c6:d9:c9:6e:7a:b0: 83:20:96:96:08:72:38:3e:24:dc:30:35:f7:85:f4:d3:21:62: 13:44:1f:49:2a:d3:c2:73:2d:3b:fc:07:3f:20:8e:d3:c1:c8: 4c:3b:69:a3:24:56:1e:5c:9c:2f:eb:83:97:80:8b:25:5d:6a: 63:80:59:24:c0:1a:b5:ed:9f:fa:b9:6d:38:dc:6b:ff:29:9e: 24:b7:95:07:37:a9:71:90:ad:b7:51:d6:0e:62:82:5d:39:8a: f2:4a:06:db:5e:2c:ae:4f:c8:76:2b:ee:e9:13:04:e3:72:c8: 6b:26:61:6c:aa:07:c1:3f:3c:b0:92:b0:29:5f:74:14:7c:34: 77:c8:c6:7a:2f:33:55:c5:0f:1d:e0:b7:8a:d9:84:d7:78:fb: 59:22:e0:58:49:97:16:f2:77:58:8b:8a:af:f2:af:43:b1:fa: 27:58:e1:c2
Шаг 4. Заполнение заявки на сертификат
Скачайте заявку на сертификат, заполните и распечатайте. Подставьте подпись и печать. Отсканируйте.
Параметр | Описание |
---|---|
CN | Должно соответствовать значению параметра Common Name (eg, YOUR name) . Например, /business/predpriyatie . |
Электронная подпись запроса на сертификат | Текстовое представление, полученное на предыдущем шаге. |
Наименование организации латинскими буквами | Должно соответствовать значению параметра Organization Name (eg, company) [Internet Widgits Pty Ltd] . |
Причина запроса | Возможные варианты:
|
Контактное лицо | Контакты специалиста для связи при возникновении вопросов по выданному сертификату. |
Адрес электронной почты | Адрес для отправки выпущенного сертификата. |
Шаг 5. Отправка запроса и заявки на сертификат в ЮMoney
Отправьте файл запроса на сертификат (
request.csr
) и скан заявки по электронной почте своему менеджеру в ЮMoney.Выпуск сертификата занимает не больше 2 рабочих дней.
Шаг 6. Установка сертификата
В ответ на заявку менеджер в ЮMoney пришлет файл с сертификатом. Срок действия сертификата 1 год.
Что дальше:
- Разместите сертификат на своем сервере.
- Пропишите путь к нему в настройках скриптов, которые взаимодействуют с ЮMoney.
- Если вы проверяете сертификат конечного сервера, загрузите цепочку сертификации (сертификаты удостоверяющего центра NBCO YooMoney) и добавьте их в списки доверенных корневых и промежуточных центров сертификации своего ПО.
При необходимости можно хранить пару «приватный ключ»—«сертификат» в едином зашифрованном файле-ключнице формата PKCS#12. Изготовить такую ключницу можно командой:
openssl pkcs12 -export -in username.crt -inkey private.key -out username.p12
За подробной информацией по установке сертификата обращайтесь к менеджеру по подключению.
Порядок работы с SSL-сертификатами
Необходимо:
- Проверять подлинность серверов ЮMoney с помощью цепочки сертификации и не устанавливать соединение, если проверка не пройдет успешно.
- Использовать свой приватный ключ и сертификат при установлении подключений к серверам ЮMoney.
- Сохранять конфиденциальность приватного ключа.
- Самостоятельно следить за сроком действия сертификата.
Рекомендуется:
- Дополнительно рекомендуется проверять сертификаты серверов ЮMoney по списку отозванных сертификатов (Certificate Revocation List, CRL)
- На каждый сервис, которому нужен доступ к серверам ЮMoney, рекомендуется получить свой сертификат. Но можно использовать один сертификат на все сервисы.
В случае компрометации приватного ключа обязательно сообщите менеджеру в ЮMoney.
Если срок действия сертификата закончится или он будет скомпрометирован, можно получить новый по данному регламенту.
Что почитать еще