Cacert pem 1c как добавить сертификат
Тема сложная. Прошу не знающих не писать.
Есть задача передать файл на web-сервис по https протоколу методом post.
Для этого использую у HTTPСоединение метод ОтправитьДляОбработки.
Что я делаю:
1. Обращаюсь на web-сервис через браузер. Сохраняю сертификат в файл.
2. Полученный сертификат преобразую в текстовый формат командой
openssl x509 -inform der -in D:\mycert.cer -out D:\textcert.pem -text -fingerprint -md5
3. Полученный текстовый сертификат добавляю в конец файла C:\Program Files (x86)\1cv82\8.2.15.301\bin\cacert.pem
В результате запуска своего кода в 1С получаю ошибку
Peer certificate cannot be authenticated with known CA certificates
То ли я не верно провел работу с добавлением сертификата в файл cacert.pem, то ли иду вообще не в ту сторону.
Помогите плиз, вопрос важный, готов выплатит вознаграждение за решение моей проблемы. Заранее благодарен. Можете писать на почту. Решение должно быть сегодня-завтра.
(0) в понедельник могу что-то попытаться. сталкивался с похожим, материалы на работе. стучись в аську, если что
1С 8.2 HTTPS: добавление сертификатов в cacert.pem
В 1С 8.2, при попытке установить HTTPS соединение с сайтом, можно получить такую ошибку: «Peer certificate cannot be authenticated with known CA certificates«. В то же время, при соединении с тем же адресом в 1С 8.3, всё работает. В чём дело, и как это исправить?
Дело в том, что 8.3 пользуется системным хранилищем сертификатов. А в 8.2 в качестве такого хранилища выступает файл cacert.pem, расположенный в каталоге 1С (например: C:\Program Files\1cv82t\8.2.17.169\bin\cacert.pem). И там есть не все современные корневые сертификаты. Надо добавить недостающее, и всё должно заработать.
План такой:
1. Получить сертификаты с сайта
2. Преобразовать сертификаты в текстовый вид
3. Добавить тексты сертификатов в cacert.pem
Поскольку я не знаю, каким веб-браузером вы пользуетесь, то рассмотрю разные варианты. Из-за этого первый пункт плана получился самым обширным. Полное содержание этой статьи выглядит так:
1. Получить сертификаты с сайта
1.1 Открыть адрес в браузере
1.2 Открыть окно просмотра сертификата
1.2.1 Internet Explorer 11
1.2.2 Google Chrome 68
1.2.3 Opera 54
1.2.4 Firefox 61
1.3 сохранить нужные сертификаты в файл
1.3.1 выбор нужных сертификатов
1.3.2 Экспорт сертификата в стандартном просмотрщике
1.3.3 экспорт сертификата в Firefox:
2. Подготовка текста сертификата
3. Добавление сертификата в cacert.pem
1. Получить сертификаты с сайта
Чтобы получить сертификаты, можно открыть нужный адрес в браузере, затем попросить браузер показать дополнительную информацию или свойства, среди них выбрать просмотр сертификата, и сохранить нужные сертификаты в файле.
1.1 Открыть адрес в браузере
Первый пункт (открыть нужный адрес) затруднений не вызывает: надо просто ввести нужный адрес (не забывая префикс https:// в начале) в адресную строку. Для примера я возьму свой сайт для демо-магазина https://demo.sync1c.ru:
Кстати, на момент написания статьи, я так и не привёл этот сайт в порядок в плане HTTPS. поэтому браузеры ругаются, что на странице присутствует небезопасное содержимое. Если посмотреть исходный код страницы, то видно, что адреса всех картинок, скриптов, и т.д. начинаются на «http://». Надо поменять на «https://» или «//», но пока руки не доходят. Впрочем, это сделает наш пример даже интереснее. Поскольку я точно знаю, что сайт безопасен, знаю, чем вызваны предупреждения, и не собираюсь вводить сюда данные кредитки, то могу не обращать внимание на опасения браузера.
1.2 Открыть окно просмотра сертификата
Итак, надо добраться до сертификата сайта. В разных браузерах это выглядит по-разному:
1.2.1 Internet Explorer 11
В главном меню выбрать Файл / Свойства. Либо нажать правой кнопкой на пустом месте страницы (где нет ничего: ни картинок, ни надписей, ни кнопок, и т.д.) и выбрать «Свойства» — обычно это самый нижний пункт меню. Откроется окно свойств страницы:

Нажмём кнопку «Сертификаты» — откроется окно «Сертификат»:

1.2.2 Google Chrome 68

Слева от адреса кликнуть иконку «сведения о сайте». Она может выглядеть как буква «i» в кружочке, или надпись «Защищено», и т.д. Появится окошко сведений:

Нажмём «Сертификат» — откроется окно «Сертификат», практически такое же, как в IE:

1.2.3 Opera 54

Слева от адреса кликнуть иконку «сведения о сайте». Она может выглядеть как замочек, или земной шар, и т.д. Появится окошко сведений:

Нажмем «Подробнее» — появятся подробности:

Кликнем на сертификат — откроется стандартное окно «Сертификат», как в Google Chrome:

1.2.4 Firefox 61

Слева от адреса кликнуть иконку «Show site information». Появится окошко сведений:

Нажать уголок «Show connection details». Появится окошко «Site security»:

Нажать «More Information». Появится «Page Info»:

Нажать «View Certificate». И вот тут, наконец-то, появится «Certificate Viewer»:

В отличие от остальных браузеров, Firefox использует свой собственный просмотрщик сертификатов.
1.3 сохранить нужные сертификаты в файл
1.3.1 выбор нужных сертификатов
Цепочка сертификатов для demo.sync1c.ru выглядит так:

Здесь мы видим, что сертификат для сайта «demo.sync1c.ru» выпущен издателем «cPanel, Inc. Certification Authority». В свою очередь, его сертификат выпущен издателем «COMODO SECURE ™». Т.е., грубо говоря, COMODO ручается за cPanel, а cPanel ручается за demo.sync1c.ru. У всех браузеров есть списки сертификатов, которым можно доверять, и этот сертификат COMODO туда входит. Поэтому браузеры доверяют COMODO, с его подачи они доверяют cPanel, и, уже с её подачи — сайту demo.sync1c.ru. Примерно так это работает, если грубо и упрощённо.
Чтобы 1С 8.2 стала работать с нашим сайтом по HTTPS, надо добавить соответствующие сертификаты в её список доверенных. Можно пойти двумя путями:
— добавить сертификаты COMODO и cPanel.
— добавить сразу сертификат demo.sync1c.ru
Я в своё время пошёл первым путём, т.е. добавил сертификаты COMODO и cPanel, после этого доступ к demo.sync1c.ru заработал. Затем ещё добавил сертификат для localhost, т.е. это я уже сделал вторым путём. Тоже работает. Сейчас я хотел поэкспериментировать, удаляя/добавляя сертификаты, и обнаружил, что старая версия cacert.pem почему-то стала позволять работать с demo.sync1c.ru. Вероятно, что-то как-то изменилось в родительских сертификатах цепочки. Мир сертификатов, он не является статичным: выпускаются новые, старые отзываются, либо прекращается срок действия, и т.д. Соответственно, не факт, что тот или иной рецепт однозначно сработает — возможно, вам придётся попробовать несколько вариантов.
1.3.2 Экспорт сертификата в стандартном просмотрщике
Напомню: IE, Chrome и Opera используют одинаковые окна для просмотра сертификата (видимо, это стандартное системное окно), а Firefox пользуется своим.
1. На вкладке «Путь сертификации» выбираем нужный сертификат, нажимаем «Просмотр сертификата». Это, если нужен какой-то из родительских сертификатов. Если сам конечный сертификат — этот шаг пропускаем, мы и так уже его просматриваем.
2. Переходим на вкладку «Состав», и видим кнопку «Копировать в файл»:

В браузере Internet Explorer эта кнопка почему-то всегда неактивная, но в Chrome и Opera она работает. Для тех же самых сертификатов. Поэтому, если к вас Internet Explorer, и тоже кнопка неактивная — закройте браузер, и скачайте другой.
После нажатия «Копировать в файл» появляется окно «Мастер экспорта сертификатов»:

Нажмём «Далее», попадаем на выбор формата:

Оставляем первый пункт (Файлы X.509 (.CER) в кодировке DER):
Далее выбираем папку и имя файла:

Ещё одно окно с подтверждением:


1.3.3 экспорт сертификата в Firefox:
На вкладке Details выбираем нужный сертификат, нажимаем «Export. «:

Для типа файла выбираем «X.509 Certificate (DER) (*.der)»:

И нажимаем «Сохранить». Готово!
2. Подготовка текста сертификата
Теперь надо подготовить текст сертификата для вставки в файл cacert.pem. Он выглядит примерно так:
Название
========
MD5 Fingerprint=.
Certificate:
.
-----BEGIN CERTIFICATE-----
.
-----END CERTIFICATE-----
Название сертификата надо написать вручную, остальное можно получить с помощью консольного приложения openssl.
Проект OpenSSL — это бесплатный набор инструментов с открытым исходным кодом, он широко используется в криптографических задачах подобного рода. Но на официальном сайте можно скачать только исходные тексты. Однако официальная Wiki предлагает несколько ссылок на хранилища OpenSSL в откомпилированном (готовом к использованию) виде:
https://wiki.openssl.org/index.php/Binaries
Здесь предлагается скачать OpenSSL в виде программы-инсталлятора для Windows. Если вы владеете английским, то чтение раздела «System Requirements» наверняка вас развлечёт 🙂 Не знаю, зачем нужен инсталлятор для консольной программы. хотя, возможно, он прописывает путь в системную переменную PATH — это как бы удобно. В общем, надеюсь, вы сумеете найти и скачать OpenSSL из надёжного источника, либо собрать её самостоятельно.
Чтобы получить текст сертификата для cacert.pem, выполните такую команду:
openssl.exe x509 -inform der -in -fingerprint -md5 -text > text.txt
Вместо подставьте имя файла, куда вы скачали/экспортировали сертификат. Обратите внимание, что выход (результат работы) программы перенаправляется в файл text.txt — после выполнения этой команды там будет готовая часть текста для cacert.pem (без названия). Если вы обрабатываете несколько сертификатов, то не забывайте менять имя выходного файла.
Надеюсь, вы сумеете справиться с запуском консольной программы и получением результатов. Иначе надо писать про это отдельную статью. Попробуйте погуглить «работа в командной строке Windows», например.
3. Добавление сертификата в cacert.pem
Добавьте название и текст сертификата, полученный на шаге 2, в конец cacert.pem с помощью любого хорошего текстового редактора (блокнот Windows не рекомендуется). Поскольку cacert.pem находится внутри каталога «Program Files», надо запускать редактор от имени администратора. Либо перенести cacert.pem в другое место, исправить, а потом перенести обратно — проводник Windows будет запрашивать разрешение администратора.
Если у вас нет хорошего текстового редактора — скачайте Notepad++.
Информация
- Пользовательское соглашение
- Политика конфиденциальности
Как добавить SSL-сертификат в 1C УТ

Во время настройки профиля обмена 1С радует вот такой надписью. Тут совсем непонятно что конкретно не нравится 1Ске из-за очень информативной информации об ошибке с кучкой “или”. Но вполне возможно что проблема именно в SSL-сертификате.
Итак, сейчас мы добавим поддержку используемого вами серта в 1С на примере SSL от Let’s Encrypt.
Генерация файла с сертификатами
Для начала откроем сайт в Firefox и экспортнем сертификаты.
Шаг 1

Шаг 2

Шаг 3

Видим здесь 3 сертификата — корневой, промежуточный и непосредственно серт от самого сайта.
Шаг 4

Экспортируем их все по отдельности.
Шаг 5
Теперь берем консольную утилиту OpenSSL и преобразовываем формат сертификатов:
openssl x509 -in DSTRootCAX3.crt -text -outform PEM -out DSTRootCAX3.pem
openssl x509 -in Let\’sEncryptAuthorityX3.crt -text -outform PEM -out Let\’sEncryptAuthorityX3.pem
openssl x509 -in site.crt -text -outform PEM -out site.pem
Получаем md5-хэши сертификатов:
openssl x509 -in DSTRootCAX3.pem -noout -fingerprint -md5 > DSTRootCAX3.md5
openssl x509 -in Let\’sEncryptAuthorityX3.pem -noout -fingerprint -md5 > Let\’sEncryptAuthorityX3.md5
openssl x509 -in site.pem -noout -fingerprint -md5 > site.md5
echo -e «\nDSTRootCAX3\n======================» > DSTRootCAX3.header
echo -e «\nLet\’sEncryptAuthorityX3\n======================» > Let\’sEncryptAuthorityX3.header
echo -e «\nsite\n======================» > site.header
Теперь сливаем все в один файл
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
24
DSTRootCAX3
===================
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:
Обновление цифрового сертификата безопасности для сервисов «1С»

С 24 по 31 марта 2018 года на всех сервисах «1С» будет обновлен цифровой сертификат безопасности.
Установка нового сертификата не окажет влияния на работу пользователей последних редакций типовых конфигураций:
- «Бухгалтерия предприятия» редакции 3.0;
- «Управление торговлей» редакции 11.4;
- «Зарплата и управление персоналом» редакции 3.1;
- «Розница» редакции 2.0;
- «Управление нашей фирмой» редакции 1.6;
- «1C:ERP Управление предприятием 2» редакции 2.4;
- «Комплексная автоматизация» редакции 2.4;
- «Управление холдингом» редакции 1.3;
- «Бухгалтерия государственного учреждения» редакции 2.0;
- «Зарплата и кадры государственного учреждения» редакции 3.1.
Если вы используете более ранние редакции или типовые решения до версии 8.3.7 и ниже, некоторые сервисы могут быть недоступными, о чем вы будуте проинформированы. Например, при обращении к сервису будет возникать сообщение об ошибке: «Удаленный узел не прошел проверку». После обновления конфигурации может периодически появляться предупреждение «Регистрация конфигурации в центре лицензирования не выполнена».
Что делать в этом случае?
Самое разумное решение — переход на актуальную конфигурацию начиная с версий 8.3.8 и выше. Если вы по каким-либо причинам не готовы переходить на современные версии, потребуется обновить файловое хранилище сертификатов платформы cacert.pem. Для выполнения такого обновления нужно быть администратором системы «1С:Предприятие», также вы можете обратиться к франчайзи 1С.
Если ваша программа проходила существенную кастомизацию или доработку, вам необходимо обратиться к специалистам для уточнения какие действия помогут решить проблему.
Пользователям последних версий платформы «1С:Предприятие» (8.3.8 и выше), не требуется выполнения каких-либо дополнительных действий при обновлении цифровых сертификатов безопасности. Это достигается за счет применения в последних версиях платформы нового, более удобного способа работы с сертификатами безопасности (используется хранилище сертификатов операционной системы, которое обновляется автоматически).
Обновление cacert.pem
Обновление необходимо только в том случае, если используются режим совместимости с версией 8.3.7 и ниже или версия платформы 8.3.7 и ниже. Обновление заключается в добавлении сертификата издателя DigiCert в файл cacert.pem. Файл cacert.pem находится в директории bin установленной платформы.
Обновить файл cacert.pem можно тремя способами:
- Заменить файл cacert.pem на другой, уже содержащий новый сертификат DigiCert. Если вы ранее не редактировали cacert.pem, то этот вариант предпочтителен. Архив файла cacert.pem для замены доступен по ссылке its.1c.ru/db/files/1CITS/EXE/cacert/cacert.zip.
- Добавить текст сертификата DigiCert при помощи обработки, выполняющей поиск и редактирование файла cacert.pem на компьютере пользователя в автоматическом режиме. Архив обработки доступен по ссылке its.1c.ru/db/files/1CITS/EXE/digicert_epf/digicert_epf.zip. Обработка обновляет сертификат только на клиентском компьютере, поэтому такой способ подойдет только для файлового варианта информационной базы.
- Добавить текст сертификата DigiCert вручную в конец файла cacert.pem в любом текстовом редакторе. Архив с текстом сертификата доступен по ссылке its.1c.ru/db/files/1CITS/EXE/digicert/digicert.zip.
Остались вопросы?
Отправьте заявку, и мы ответим!
Заполните форму обратной связи, наши менеджеры свяжутся с вами!
Или получите профессиональную консультацию по телефону 8 (800) 333-18-15
