Архив
 
Взаимодействие по SSL
Это старая версия API. Переходите на API ЮKassa.
SSL-сертификат может понадобиться в двух случаях: для защиты данных пользователей (при работе с ЮKassa) и для аутентификации соединений с серверами ЮKassa.
 
Сертификат для защиты персональных данных пользователей
Такой сертификат требуется при подключении к ЮKassa любого магазина с уведомлениями о платежах по HTTP (способы подключения — Модуль в CMS или HTTP-протокол). Его задача — обеспечить передачу данных пользователей в зашифрованном виде. В этом случае подойдет любой готовый сертификат для домена. Его можно получить бесплатно при подключении к ЮKassa или купить в любом официальном удостоверяющем центре. Самоподписной сертификат тоже подойдет.
Не следует использовать SSL с поддержкой SNI (Server Name Identification).
 
Для аутентификации соединений с серверами ЮKassa
Такой сертификат нужен для работы по протоколам ЮKassa с проведением финансовых операций в рамках управления заказами (MWS): возвратов, отложенных платежей и других. Для этих целей годится только специальный SSL-сертификат, выданный удостоверяющим центром ООО НКО «ЮМани» (NBCO YooMoney).
Если вы сомневаетесь, нужно ли вам получать сертификат, и какой именно, спросите у своего менеджера ЮKassa.
 
Получение SSL-сертификата для взаимодействия с серверами ЮKassaг
Чтобы получить сертификат, нужно создать запрос на сертификат (в формате CSR), заполнить заявку на получение сертификата и отправить запрос и заявку на сертификат по электронной почте своему менеджеру ЮKassa.
Для генерации запроса на сертификат в формате 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. Отправка запроса и заявки на сертификат в ЮKassa
Отправьте файл запроса на сертификат (
request.csr
) и скан заявки по электронной почте своему менеджеру ЮKassa.
Выпуск сертификата занимает не больше 2 рабочих дней.
 
Шаг 6. Установка сертификата
В ответ на заявку менеджер ЮKassa пришлет файл с сертификатом. Срок действия сертификата 1 год.
Что дальше:
  1. Разместите сертификат на своем сервере.
  2. Пропишите путь к нему в настройках скриптов, которые взаимодействуют с ЮKassa.
  3. Если вы проверяете сертификат конечного сервера, загрузите цепочку сертификации (сертификаты удостоверяющего центра NBCO YooMoney) и добавьте их в списки доверенных корневых и промежуточных центров сертификации своего ПО.
При необходимости можно хранить пару «приватный ключ»—«сертификат» в едином зашифрованном файле-ключнице формата PKCS#12. Изготовить такую ключницу можно командой:
openssl pkcs12 -export -in username.crt -inkey private.key -out username.p12
За подробной информацией по установке сертификата обращайтесь к менеджеру по подключению.
 
Порядок работы с SSL-сертификатами
Необходимо:
  • Проверять подлинность серверов ЮKassa с помощью цепочки сертификации и не устанавливать соединение, если проверка не пройдет успешно.
  • Использовать свой приватный ключ и сертификат при установлении подключений к серверам ЮKassa.
  • Сохранять конфиденциальность приватного ключа.
  • Самостоятельно следить за сроком действия сертификата.
Рекомендуется:
  • Дополнительно рекомендуется проверять сертификаты серверов ЮKassa по списку отозванных сертификатов (Certificate Revocation List, CRL)
  • На каждый сервис, которому нужен доступ к серверам ЮKassa, рекомендуется получить свой сертификат. Но можно использовать один сертификат на все сервисы.
В случае компрометации приватного ключа обязательно сообщите менеджеру ЮKassa.
Если срок действия сертификата закончится или он будет скомпрометирован, можно получить новый по данному регламенту.