gifts2017

Peer certificate cannot be authenticated with known CA certificates

Опубликовал Максим (Fuego) в раздел Администрирование - Системное

Столкнулся с проблемой, когда веб-сервис работает по SSL протоколу, и  "1С-ка" никак не хотела работать с этим веб-сервисом, потому, что у сервиса "кривой сертификат". И начал искать информацию...

Все сертификаты, которые "знает" 1С:Предприятие перечислены в текстовом виде в файле cacert.pem директории <путь установки 1С>\bin\. Но как получить информацию в таком виде, я нашёл не сразу. Опытным путём по ключевым словам на зарубежном солюшене нашёл кое-какую инфу. Для начала нужен сам сертификат веб-сервиса. Затем нужно скачать утилиты Open-SSL: http://www.slproweb.com/products/Win32OpenSSL.html (линукс: ищем в репозиториях openssl)

следующая команда команда экспортирует сертификат в текстовый формат PEM:

openssl x509 -inform der -in D:\mycert.cer -out D:\textcert.pem -text -fingerprint -md5

Само собой, Вы должны изменить пути входящего и исходящего файла. Исходящий файл может не существовать. После выполнения команды на экране Вы увидите MD5 Fingerprint. Скопируйте его -  с этой строки начинайте добавление своего сертификата в файл cacert.pem. После строки контрольной суммы сертификата, нужно добавить в файл cacert.pem содержимое файла, в который Вы экспортировали сертификат. Всё.

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. albochkov (Aleksey.Bochkov) 12.09.11 11:24
Подготовку сертификата можно было сделать проще - в IE открываете ресурс, открываете сертификат на просмотр, на закладке "Состав" жмете "Копировать в файл.." и выбираете формат "Файлы X.509 (.CER) в кодировке Base-64".
bobo93; smaximaa; swimdog; Spacer; +4 Ответить
2. stark temp (stark.temp) 19.01.12 12:40
О, как мне пригодилось! Спасибо!
3. Владимир Тим (TimVG) 28.03.12 14:40
А как при таком способе определить MD5?
4. Максим (Fuego) 09.04.12 20:10
(3) TimVG, после выполнения команды на экране Вы увидите MD5 Fingerprint.
5. Михаил ja-maik-a (ja-maik-a) 21.06.12 11:11
При выполнении команды происходит такая ошибка:
OpenSSL> x509 -inform der -in C:\ThawteSSLCA.cer -out C:\out.pem -text -fingerprint -md5
unable to load certificate
5756:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:.\crypto\asn1\tasn_dec.c:1319:
5756:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:.\crypto\asn1\tasn_dec.c:381:Type=X509
error in x509

из-за чего могут быть ошибки в x509?
6. Valentin Yakovlev (IOL) 11.10.12 11:45
Автору заметки. Самый простой способ выдрать сертификат -- с помощью хрома, клацаем на замок в адресной строке, просмотреть сертификат, потом клацаем на вторую закладку, внизу будет кнопка, копировать в файл. Дальше появляется мастер экспорта сертификатов, в нем выбираем самый верхний крыжик (он по умолчанию там стоит), формат X509 DER, сохраняем в файло, дальше запускаем вашу строчку, после этого копируем МД5 сумму которую выдаст в консоль.... ну а дальше копипастим сертификат в конец файла.
7. Valentin Yakovlev (IOL) 11.10.12 11:47
C:\OpenSSL-Win32\bin>openssl x509 -inform der -in C:\OpenSSL-Win32\bin\ии-der.cer -out C:\OpenSSL-Win32\bin\ии.pem -text -fingerprint -md5
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
MD5 Fingerprint=32:B9:FC:EE:87:74:91:6B:97:4A:5D:29:2A:5A:16:B8
8. Ivan Khorkov (vano-ekt) 07.03.13 09:04
(7) IOL, с ошибкой, разобрались?
9. Денис (DennK) 06.05.13 11:41
Коллеги, подскажите, пожалуйста, как сделать чтобы заработало
Делаю следующим образом:
1. открываю в браузере ссылку на файловое хранилище дропбокса, чтобы получить его сертификат
https://dl.dropboxusercontent.com
2. Нахожу сертификат удостоверяющего центра DigiCert Root CA и CA-3 которые в цепочке удостоверяют сертификат для dropboxusercontent.com
3. Выгружаю их в файлы *.cer по инструкции и запускаю конвертацию в Формат PEM.
C:\OpenSSL-Win32\bin>openssl x509 -inform der -in c:\digicertCA3.pem -text -fingerprint -md5 > c:\digicertCA3.txt
4. Получаю два файлика *.pem и *.txt
5. Копирую из обоих инфу и вставляю в конец cacert.pem по подобию уже имеющихся там записей.
6. Запускаю 1С и все равно выскакивает та-же ошибка.

Процедура КнопкаВыполнитьНажатие(Кнопка)
	СерверСоединение = "dl.dropboxusercontent.com";
	СсылкаНаФайл = "dl.dropboxusercontent.com/s/f9b2641zdtu6bhv/version.txt?token_hash=AAHtD9Hx4iGooJ8tyRoH2J2CVY-b26PzdHWQzk4WHI2TwQ&dl=1";
	ФайлВерсий = Новый HTTPСоединение(СерверСоединение,443,,,, Истина); 
	ФайлВерсий.Получить(СсылкаНаФайл, "C:\version.txt");
КонецПроцедуры
...Показать Скрыть



из под 1С нужно скачать маленький текстовый файлик Version.txt по ссылке
https://dl.dropboxusercontent.com/s/f9b2641zdtu6bhv/version.txt?token_hash=AAHtD9Hx4iGooJ8tyRoH2J2CVY-b26PzdHWQzk4WHI2TwQ&dl=1

Заранее спасибо
10. Денис (DennK) 06.05.13 12:49
(9) DennK,
Стоило попросить о помощи, как все получилось.
Пришлось поправить код процедуры

Процедура КнопкаВыполнитьНажатие(Кнопка)
	СерверСоединение = "dl.dropboxusercontent.com";
	СсылкаНаФайл = "/s/f9b2641zdtu6bhv/version.txt?token_hash=AAHtD9Hx4iGooJ8tyRoH2J2CVY-b26PzdHWQzk4WHI2TwQ&dl=1";
	ФайлВерсий = Новый HTTPСоединение(СерверСоединение,,,,, Истина); 
	ФайлВерсий.Получить(СсылкаНаФайл, "C:\version.txt");
КонецПроцедуры
...Показать Скрыть


Получившийся cacert.pem можно взять здесь https://dl.dropboxusercontent.com/u/68925103/cacert.pem
(после всех экспериментов пришел к выводу, что нужно добавлять не сертификат сайта, а сертификат его удостоверяющего центра)
Пример обработки здесь https://dl.dropboxusercontent.com/u/68925103/%D0%A4%D0%B0%D0%B9%D0%BB%D0%A1DropBox.epf
zavedeev; AnderWonder; lazy; +3 Ответить
11. Алексей Столбов (ITAlex) 29.11.13 15:33
Помогло. Спасибо огромное!
DennK прав, нужно добавлять родительские сертификаты, причем все из цепочки, если их несколько
12. totalart totalart (totalart) 05.03.15 10:22
Алилуя получилось

Действия следующие

1. Качаем подходящий дистрибутив http://www.slproweb.com/products/Win32OpenSSL.html
2. После установки нужно указать переменную, открываем командную строку под админом вводим команду
set OPENSSL_CONF=D:\OpenSSL-Win32\bin\openssl.cfg
После этого программа начинает работать

3. В браузере открываем урл где можно посмотреть сертификат, открываем просмотр цепочки сертификатов

Я пользовался Firefox поэтому дальше буду описывать действия для него
Открываем сертификат - подробнее

4. Сохраняем каждый сертификат из цепочки по 2 раза в разных форматах
лучше использовать короткие понятные пути
1й формат
4.1 Экспортировать, выбираем тип файла Сертификат X.509 в формате PEM (*.crt:*.pem)
повторяем для всех сертификатов цепочки
2й формат
4.1 Экспортировать, выбираем тип файла Сертификат X.509 в формате DER (*.der)
повторяем для всех сертификатов цепочки

Далее открываем командную строку
вводим команду, переходим в папку с Open ssl
cd c:\OpenSSL-Win64\bin
Далее формируем подпись
c:\OpenSSL-Win64\bin>openssl x509 -inform der -in D:\p.der -out D:\textcert.pem -text -fingerprint -md5

На экране отображается сгенерированная подпись и сертификат

Через пометить выбираем полученный результат, копируем и добавляем в конец файла
C:\Program Files (x86)\1cv8\8.3.5.1460\bin\cacert.pem

Добавленный результат форматируем

Делаем заголовок
Имя для заголовка лучше брать из добавляемого сертификата
Просмотр сертификата - Выбираем сертификат - Внизу поле субъект CN = Symantec Class 3 EV SSL CA - G3
из него забираем заголовок
Symantec Class 3 EV SSL CA - G3
переносим MD под заголовок

Получается:

Symantec Class 3 EV SSL CA - G3
====================

MD5 Fingerprint=DF:51:CE:65:BC:43:F9:1B:3E:1E:CF:48:AB:23:36:25

остальное оставляем внизу

Далее блокнотом открываем сохраненный сертификат в формате *.crt копируем его содержание
Вставляем в конец файла cacert.pem

Аналогично повторяем для всех сертификатов цепочки
13. Александр Прокопенко (alprk) 21.04.15 15:46
А куда на сервер совать сертификат?
UPD. Разобрался, туда же совать. Проблема была в том что забыл положить сертификат CA.
14. Сергеевич Александр (aleksdiez) 13.10.15 09:01
(12) totalart, все делал аналогично, сформировал заголовок и сам сертификат, вставил в cacert.pem, но не работает, что еще посмотреть?
15. Евгений Колтович (depresnjak) 04.04.16 10:53
А можно ещё проще:
  • 1. При экспорте выбираем формат PKSC #7 с опцией "По возможности все сертификаты"
  • 2. Выполняем команду openssl pkcs7 -inform der -print_certs -in "x:\cer\certificate.p7b -out "Y:\cer\certificate.pem" -text
  • 3. SHA1 Fingerprint берем из свойств сертификата (Вкладка состав - Вид: Только свойства)
  • 4. Содержимое файла "Y:\cer\certificate.pem" вставлем в cacert.pem
  • 5. PROFIT!
stupidgamer; crs; alexkab; Огонек; +4 Ответить
16. some some (Oleg_SV) 05.04.16 13:33
(12) totalart, Всё получилось! Спасибо!
17. Юрий (yuraer) 29.06.16 11:56
(12) totalart, порядок сертификатов имеет значение?
18. Андрей (AKV77) 12.07.16 10:11
Привет всем ! Опишу как мы решали данную проблему.
Используем сервис COMARCH EDI для электронного документооборота через провайдера Корус Консалтинг.
В один прекрасный момент при запуске обмена получили ошибку как в заголовке темы.
после общения с тех.поддержкой Коруса скачали с сайта https://www.ecod.pl/webserv2/EDIservice.asmx сертификаты и затем их установили - результат отрицательный.

Продолжили разбираться дальше...
в итоге решили сделать так...

У пользователей, работающих с корусом :

1. Закрыть 1С
2. Изменить файл C:\Program Files\1cv82\8.2.19.130\bin\cacert.pem ( у вас свои пути)

Добавить в конец файла данные : (Получить их можно открыв сертификаты в блокноте)

сам сертификат плюс дополнительные сертификаты родителей:

-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsF­ADCB
rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UE­CxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMp­IDIw
MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi­BgNV
BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAw­MDBa
Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh­d3Rl
LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlz­aW9u
MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9y­aXpl
ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt­IEcz
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsb­nndm
gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd­5N/8
YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsU­a0Lf
b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY­2SS9
9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtT­yr2S
zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnL­wkUk
OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd­BgNV
HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEB­ABpA
2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8K­LFIW
oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbO­e1bu
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHa­Gh7c
KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy2­74fM
m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZARe­iDZu
MdRAGmI0Nj81Aa6sY6A=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIEwjCCA6qgAwIBAgIQNjSeGMmcJmm2Vi5s5a1xMjANBgkqhkiG9w0BAQsF­ADCB
rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UE­CxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMp­IDIw
MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi­BgNV
BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0xMzA1MjMwMDAw­MDBa
Fw0yMzA1MjIyMzU5NTlaMEMxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwx0aGF3­dGUs
IEluYy4xHTAbBgNVBAMTFHRoYXd0ZSBTSEEyNTYgU1NMIENBMIIBIjANBgkq­hkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo2Mr1LpdOK6wz7lMON8gffErR3Edi2jz­Vvmc
2qrlhCbepXEwvPMxI53oO4DIZld1tlcO25P1Jo5wumRSZooqiFxEGE2oony9­VmEy
kBL5NYdIYLBukGdEAY3nyQ1jaHJyq2M8hrgffa2IJadqiCn7WcZ4cV8suonm­04D9
V+y5UV9DMy5+JTukBNFgjLNEM5MMrSq2RKIZO6/EkG97BYeGmyxqnStsd8kA­n8nP
rO0+G/fD89n4bNSgV8T7KDKqM/Dmupjf5cJOnHS/ikjC8hvwd0BBBwSyOtVM­xCmp
EUA/AkbwkdXSgYOGE7Mx7UarqId2qZl9vM0xUPSltdylMrOLiwIDAQABo4IB­RDCC
AUAwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8vb2NzcC50­aGF3
dGUuY29tMBIGA1UdEwEB/wQIMAYBAf8CAQAwQQYDVR0gBDowODA2BgpghkgB­hvhF
AQc2MCgwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3Bz­MDcG
A1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQ­Q0Et
RzMuY3JsMA4GA1UdDwEB/wQEAwIBBjAqBgNVHREEIzAhpB8wHTEbMBkGA1UE­AxMS
VmVyaVNpZ25NUEtJLTItNDE1MB0GA1UdDgQWBBQrmjWuARg4MOFwegXgEXaj­zr2Q
FDAfBgNVHSMEGDAWgBStbKqUYJzt5P/6Pgp0K2MD97ZZvzANBgkqhkiG9w0B­AQsF
AAOCAQEAdKZW6K+Tlhn7JvkNsESlzel6SAN0AWwTcbfggpCZYiPj1pmv8Mce­nqgY
Idu0lD80VhuZVS+O8EUzMrdywRNbNNP1YOUuGNFcxWrBqodQDBydZCv/G9zV­LmEL
57m2kVOG2QMq0T17StorB74p8mBCqZEaDi480X2lExQC+u6LjbbIuD5WgVch­JD9l
w7TJzlyNRqxT8/lVdMgr/dJ4cPX4EeX0p60g9Z3x7HD2E6zmjI3bP8byeQ6r­UvLM
G3knzxaz1vPGNoBD7MWU8N2QjfjGUkZW63RHvqbzGa5xTMDh59TP7dQGKCoR­PLrZ
QW4A54E3k+TaYsYdZ29jtBSG2aZi8A==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIFvjCCBKagAwIBAgIQDppqYIBi9rzuI91UP0qfVTANBgkqhkiG9w0BAQsF­ADBD
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMuMR0wGwYDVQQD­ExR0
aGF3dGUgU0hBMjU2IFNTTCBDQTAeFw0xNjA2MjAwMDAwMDBaFw0xNzA4MTky­MzU5
NTlaMHAxCzAJBgNVBAYTAlBMMRQwEgYDVQQIDAttYWxvcG9sc2tpZTEPMA0G­A1UE
BwwGS3Jha293MRUwEwYDVQQKDAxDT01BUkNIIFMuQS4xDTALBgNVBAsMBEVD­T0Qx
FDASBgNVBAMMC3d3dy5lY29kLnBsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A­MIIB
CgKCAQEA46lgfb5i+8QW2G7YoZSNrx9c/Xwe4++t0zWHmk5kqblGF8psOBUk­2F4k
+NQVTBbQf4Ls2O4RH7bAhCywn/79jKRaB/urNBCT9ds5NOB02NiRqruaIP7g­TFla
IqboBoiu99JU/j6emMnX6xH5tuvFQ667ouO2g5+rlahe0I02cqUKasMUC3F1­AQNw
PCUw6UuiZJMRP9EJ2k5gdkKZNsinFZ61wiUlsL+J4VYcnzGljxr7uM18b1Zs­fRBW
DgaEVRAJt1ejDhYPfsou6rVVax3pTXSfM1xsxtFzAOo3jPOiYBiwpj3AvlJ0­Qj60
Zh678+6GRwB+FOq8qEtURTW9ErhjWwIDAQABo4ICfzCCAnswHwYDVR0RBBgw­FoIL
d3d3LmVjb2QucGyCB2Vjb2QucGwwCQYDVR0TBAIwADBuBgNVHSAEZzBlMGMG­BmeB
DAECAjBZMCYGCCsGAQUFBwIBFhpodHRwczovL3d3dy50aGF3dGUuY29tL2Nw­czAv
BggrBgEFBQcCAjAjDCFodHRwczovL3d3dy50aGF3dGUuY29tL3JlcG9zaXRv­cnkw
DgYDVR0PAQH/BAQDAgWgMB8GA1UdIwQYMBaAFCuaNa4BGDgw4XB6BeARdqPO­vZAU
MCsGA1UdHwQkMCIwIKAeoByGGmh0dHA6Ly90Zy5zeW1jYi5jb20vdGcuY3Js­MB0G
A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBXBggrBgEFBQcBAQRLMEkw­HwYI
KwYBBQUHMAGGE2h0dHA6Ly90Zy5zeW1jZC5jb20wJgYIKwYBBQUHMAKGGmh0­dHA6
Ly90Zy5zeW1jYi5jb20vdGcuY3J0MIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDx­AHcA
3esdK3oNT6Ygi4GtgWhwfi6OnQHVXIiNPRHEzbbsvswAAAFVbdfCVgAABAMA­SDBG
AiEA/hUCNknuOQe/jjsAwCnDyU2AGtTBcad/wFfCz+bXPT4CIQD94wk1rdeV­+7x+
g4GSvp8+FwNmIIw72fTFJCLfaubbRAB2AKS5CZC0GFgUh7sTosxncAo8NZgE­+Rvf
uON3zQ7IDdwQAAABVW3XwnEAAAQDAEcwRQIgQ/m2JtNVDRTuqMnEGpiWp6cU­J1KH
HUZvbyJo2OE3D6MCIQCrvi+wDSQJYPhAJqzJT/hPDmH1iFv6z2pTOyTwmIDc­8TAN
BgkqhkiG9w0BAQsFAAOCAQEAZFyhKs7jAIOzgVHJvzoQa+6eUkP63/C9X44s­DS8z
abcyVOKdEJnAJh+nDlv79JxTnBHy4HFkqxgMtCL1iRP/VPWptIZA4rzZ0ymv­vcK8
dNqr5f43xDKNkwrVXQjpjgvKuTBOKmkLJALGnnX+LZAG9UxOMMp8FsT9kijD­iJne
OnplOOvWtaYBnw9JB0S8KymY9ceJRpTXSsnvUgiYx22P5rNrWVNr0Gtmciz4­mhpu
4n+uD493wXNNRpF0IJXtLdGGPbbLDYMh364ZslUihXOtrXwsI/9yPTS03B+W­fLnq
+ZQ1Kw00O1mh/wunnTowLIJ0iIw0XMpQq60ZGuT1KITkKQ==
-----END CERTIFICATE-----

После этого все заработало как надо





Прикрепленные файлы:
Загрузка сертификата.docx
19. Андрей (AKV77) 12.07.16 10:13
Забыл написать в прикрепленном файле инструкция от Коруса
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа