Как добавить SSL-сертификат в 1C УТ
Иногда в 1С может случиться вот такая проблема:
Во время настройки профиля обмена 1С радует вот такой надписью. Тут совсем непонятно что конкретно не нравится 1Ске из-за очень информативной информации об ошибке с кучкой “или”. Но вполне возможно что проблема именно в SSL-сертификате.
Итак, сейчас мы добавим поддержку используемого вами серта в 1С на примере SSL от Let’s Encrypt.
Генерация файла с сертификатами
Для начала откроем сайт в Firefox и экспортнем сертификаты.
Шаг 1
Шаг 2
Просматриваем сертификаты
Шаг 3
Видим здесь 3 сертификата - корневой, промежуточный и непосредственно серт от самого сайта.
Шаг 4
Экспортируем их все по отдельности.
Шаг 5
Теперь берем консольную утилиту OpenSSL и преобразовываем формат сертификатов:
1 | openssl x509 -in DSTRootCAX3.crt -text -outform PEM -out DSTRootCAX3.pem |
Получаем md5-хэши сертификатов:
1 | openssl x509 -in DSTRootCAX3.pem -noout -fingerprint -md5 > DSTRootCAX3.md5 |
Генерим заголовки
1 | echo -e "\nDSTRootCAX3\n======================" > DSTRootCAX3.header |
Теперь сливаем все в один файл
1 | cat DSTRootCAX3.header DSTRootCAX3.md5 DSTRootCAX3.pem Let\'sEncryptAuthorityX3.header Let\'sEncryptAuthorityX3.md5 Let\'sEncryptAuthorityX3.pem site.header site.md5 site.pem > certificate |
В итоге получаем файл такого вида:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24DSTRootCAX3
===================
MD5 Fingerprint=41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b
Signature Algorithm: sha1WithRSAEncryption
Issuer: O=Digital Signature Trust Co., CN=DST Root CA X3
Validity
Not Before: Sep 30 21:12:19 2000 GMT
Not After : Sep 30 14:01:15 2021 GMT
Subject: O=Digital Signature Trust Co., CN=DST Root CA X3
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
00:df:af:e9:97:50:08:83:57:b4:cc:62:65:f6:90:
82:ec:c7:d3:2c:6b:30:ca:5b:ec:d9:c3:7d:c7:40:
c1:18:14:8b:e0:e8:33:76:49:2a:e3:3f:21:49:93:
ac:4e:0e:af:3e:48:cb:65:ee:fc:d3:21:0f:65:d2:
2a:d9:32:8f:8c:e5:f7:77:b0:12:7b:b5:95:c0:89:
...
Получается довольно простой формат - название, разделитель в виде символов =====, md5-хэш и далее содержимое pem-сертификата. И так все три серта подряд.
Интеграция сертов в 1С
Теперь ищем в установленной 1С файл cacert.pem
Путь может быть примерно такой - C:\Program Files\1cv8\8.3.10.2580\bin\cacert.pem
Открываем файл и дописываем в него содержимое нашего сгенерированного файла certificate.
1С кстати можно не перезагружать. Пробуем подключение.
Профит!
Бонус
Серт для сайта можно не прописывать. Можно просто ограничиться корневым и промежуточным сертификатами.
Вот готовый файл certificate для Let’s Encrypt:
https://gist.github.com/rhamdeew/6d5ee8cff99fba9e2575a74e37d203d2