Для аутентификации соединений с серверами ЮKassa вам нужен сертификат, выданный удостоверяющим центром ООО НКО «ЮМани» (NBCO YooMoney). Чтобы его получить, вам нужно создать запрос на сертификат (в формате CSR), заполнить заявку на получение сертификата и отправить запрос и заявку на сертификат по электронной почте своему менеджеру в ЮKassa.
Для генерации запроса на сертификат в формате CSR используйте утилиту OpenSSL.
Выполните команду:
openssl genrsa -aes256 -out private.key 2048
Введите пароль и подтвердите. Например:
Enter pass phrase for private.key: 12345 Verifying - Enter pass phrase for private.key: 12345
В директории выполнения команды будет создан файл с приватным ключом:
private.key
.Выполните команду:
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
.Электронная подпись нужна для заполнения заявки на сертификат, она содержится в файле сертификата.
Чтобы получить электронную подпись, выполните команду:
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
Скачайте заявку на сертификат, заполните и распечатайте. Подставьте подпись и печать. Отсканируйте.
Параметр | Описание |
---|---|
CN | Должно соответствовать значению параметра Common Name (eg, YOUR name) . Например, /business/predpriyatie . |
Электронная подпись запроса на сертификат | Текстовое представление, полученное на предыдущем шаге. |
Наименование организации латинскими буквами | Должно соответствовать значению параметра Organization Name (eg, company) [Internet Widgits Pty Ltd] . |
Причина запроса | Возможные варианты:
|
Контактное лицо | Контакты специалиста для связи при возникновении вопросов по выданному сертификату. |
Адрес электронной почты | Адрес для отправки выпущенного сертификата. |
Отправьте файл запроса на сертификат (
request.csr
) и скан заявки по электронной почте своему менеджеру в ЮKassa.Выпуск сертификата занимает не больше 2 рабочих дней.
В ответ на заявку менеджер в ЮKassa пришлет файл с сертификатом. Срок действия сертификата 1 год.
Что дальше:
- Разместите сертификат на своем сервере.
- Пропишите путь к нему в настройках скриптов, которые взаимодействуют с ЮKassa.
- Если вы проверяете сертификат конечного сервера, загрузите цепочку сертификации (сертификаты удостоверяющего центра NBCO YooMoney) и добавьте их в списки доверенных корневых и промежуточных центров сертификации своего ПО.
При необходимости можно хранить пару «приватный ключ»—«сертификат» в едином зашифрованном файле-ключнице формата PKCS#12. Изготовить такую ключницу можно командой:
openssl pkcs12 -export -in username.crt -inkey private.key -out username.p12
За подробной информацией по установке сертификата обращайтесь к менеджеру по подключению.
Необходимо:
- Проверять подлинность серверов ЮKassa с помощью цепочки сертификации и не устанавливать соединение, если проверка не пройдет успешно.
- Использовать свой приватный ключ и сертификат при установлении подключений к серверам ЮKassa.
- Сохранять конфиденциальность приватного ключа.
- Самостоятельно следить за сроком действия сертификата.
Рекомендуется:
- Дополнительно рекомендуется проверять сертификаты серверов ЮKassa по списку отозванных сертификатов (Certificate Revocation List, CRL)
- На каждый сервис, которому нужен доступ к серверам ЮKassa, рекомендуется получить свой сертификат. Но можно использовать один сертификат на все сервисы.
Если срок действия сертификата закончится или он будет скомпрометирован, можно получить новый по данному регламенту.
Коды ошибокСоглашение об электронном документообороте