Как настроить обмен данными с 1С по протоколу HTTPS.

На сайте установлено безопасное соединение, но при этом обмен с 1С не выполняется.

Как правило вы получаете ошибку "Удаленный узел не прошел проверку". Это потому что при соединении по HTTPS используется SSL сертификат, с помощью которого устанавливается защищенное соединение на 443 порту (не надо пытаться подключаться по 80 - все равно не получится).

Статься написана для сайтов под управлением NetCat E-Commerce и стандартного модуля "Интернет-магазин", но в целом применима к любым системам.

Чтобы настроить обмен с 1С по протоколу HTTPS, необходимо добавить в 1С сертификат вашего сайта. В этой статье я постараюсь рассказать как это правильно сделать и, надеюсь, она будет кому-то полезна.

Если вы используете 1С “Управление торговлей” 10.3, возможны проблемы при установке соединения с сервером. При возникновении подобных проблем попробуйте настроить синхронизацию с 1С “Управление торговлей” 11.

Шаг 1. Сохраняем все сертификаты сайта

Браузер позволяет просматривать и сохранять данные о сертификатах сайта. У каждого сайта есть так называемая иерархия сертификатов. В этом шаге мы сохраним все сертификаты из иерархии с помощью браузера.

В примере используется браузер Google Chrome. Интерфейс и названия в других браузерах отличаются, но принцип действий похож.
  • Откройте сайт, сертификат которого необходимо добавить.

2. В окне браузера нажмите на сведения о сайте. Обычно, это зеленый замочек слева от адреса сайта в адресной строке.

3. Откройте вкладку "Подробнее”

4. Откроется окно Инструмент просмотра сертификатов. Перейдите на вкладку "Подробнее" и по-очереди экспортируйте все сертификаты из иерархии.

Шаг 2. Создаем файлы с сертификатами

Важно
Выполните шаг 2 по очереди с каждым CRT-файлом, который вы получили в шаге 1.
Вам потребуется установить OpenSSL. Пользователям Windows также потребуется установить Git, чтобы выполнять команды из инструкции.
  • Создайте новый документ; название может быть любым.

2. Вставьте в этот новый документ название сертификата. После названия сертификата в следующей строке добавьте ========. Например, сертификат называется certificate. Тогда в созданном документе должно быть следующее:

certificate
===========

3. Откройте терминал, запустите openssl и выполните команду:

x509 -in certificate.crt -text -outform PEM -out certificate.pem

Где:
certificate.crt - название файла вашего сертификата;
certificate.pem - название сертификата, после преобразования.

Рядом с файлом сертификата у вас должен появиться новый файл.

4. Теперь необходимо получить md5 для сертификата. В консоли наберите команду:

x509 -in certificate.pem -noout -fingerprint -md5

Выведеный хеш md5 скопируйте в документ, созданный во время шага 2.

5. Откройте файл certificate.pem, который у вас создался, и скопируйте его содержимое. Вставьте это содержимое в конец документа, созданного во время шага 2 в пункте 1.

ШШаг 3. Добавляем сертификаты в 1С

После выполнения шага 2 со всеми файлами сертификата, необходимо вставить содержимое получившихся документов в конец файла bin/cacert.pem в каталоге 1С.

Порядок вставки не важен; важно чтобы структура совпадала со структурой представленной в файле bin/cacert.pem. Структуру сертификата можно посмотреть в файле bin/cacert.pem. Вот пример структуры, которая должна у вас получиться:

Verisign/RSA Secure Server CA     //название сертификата
=============================

MD5 Fingerprint=74:7B:82:03:43:F0:00:9E:6B:B3:EC:47:BF:85:A5:93  //ключ md5 сертификата
Certificate:       //Информация из certificate.pem
    Data:
        Version: 1 (0x0)
        Serial Number:
            02:ad:66:7e:4e:45:fe:5e:57:6f:3c:98:19:5e:dd:c0
        Signature Algorithm: md2WithRSAEncryption
        Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority
        Validity
            Not Before: Nov  9 00:00:00 1994 GMT
            Not After : Jan  7 23:59:59 2010 GMT
        Subject: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (1000 bit)
                Modulus (1000 bit):
                    00:92:ce:7a:c1:ae:83:3e:5a:aa:89:83:57:ac:25:
                    01:76:0c:ad:ae:8e:2c:37:ce:eb:35:78:64:54:03:
                    e5:84:40:51:c9:bf:8f:08:e2:8a:82:08:d2:16:86:
                    37:55:e9:b1:21:02:ad:76:68:81:9a:05:a2:4b:c9:
                    4b:25:66:22:56:6c:88:07:8f:f7:81:59:6d:84:07:
                    65:70:13:71:76:3e:9b:77:4c:e3:50:89:56:98:48:
                    b9:1d:a7:29:1a:13:2e:4a:11:59:9c:1e:15:d5:49:
                    54:2c:73:3a:69:82:b1:97:39:9c:6d:70:67:48:e5:
                    dd:2d:d6:c8:1e:7b
                Exponent: 65537 (0x10001)
    Signature Algorithm: md2WithRSAEncryption
        65:dd:7e:e1:b2:ec:b0:e2:3a:e0:ec:71:46:9a:19:11:b8:d3:
        c7:a0:b4:03:40:26:02:3e:09:9c:e1:12:b3:d1:5a:f6:37:a5:
        b7:61:03:b6:5b:16:69:3b:c6:44:08:0c:88:53:0c:6b:97:49:
        c7:3e:35:dc:6c:b9:bb:aa:df:5c:bb:3a:2f:93:60:b6:a9:4b:
        4d:f2:20:f7:cd:5f:7f:64:7b:8e:dc:00:5c:d7:fa:77:ca:39:
        16:59:6f:0e:ea:d3:b5:83:7f:4d:4d:42:56:76:b4:c9:5f:04:
        f8:38:f8:eb:d2:5f:75:5f:cd:7b:fc:e5:8e:80:7c:fc:50
-----BEGIN CERTIFICATE-----          //содержимое из файла *.pem
MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG
A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD
VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0
MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV
BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy
dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ
ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII
0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI
uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI
hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3
YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc
1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
-----END CERTIFICATE-----