Доступ к API РФМ

уважаемые знатоки :) Моя проблема такова - поставлена задача получить доступ к API РФМ, для автоматизированной проверки и скачивания различных перечней. Запросил доступ к тестовым методам в ЛК Росфинмониторинга, доступ предоставлен. Для выполнения тестового метода авторизации пытаюсь заставить работать следующий скрипт:

'''var certPath = 'C:\ПутьКСертификату.cer';
                    var certPassword = 'пароль';

                    var winHttpReq = new ActiveXObject('WinHttp.WinHttpRequest.5.1');

                    winHttpReq.Open('POST', 'https://portal.fedsfm.ru:8081/Services/fedsfm-service/test-contur/authenticate', false);
                    winHttpReq.SetClientCertificate(certPath, certPassword);
                    winHttpReq.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    winHttpReq.Send('grant_type=client_credentials');

                    if (winHttpReq.Status == 200) 
                    {
                    var token = JSON.parse(winHttpReq.ResponseText).access_token;

                    var headers = {
                    'Authorization': 'Bearer ' + token
                    };

                    var client = new ActiveXObject('Msxml2.XMLHTTP');
                    client.onreadystatechange = function() 
                    {
                    if (client.readyState == 4) 
                    {
                    if (client.status == 200) {
                    var response = JSON.parse(client.responseText);
                    var fileSystem = new ActiveXObject('Scripting.FileSystemObject');
                    var file = fileSystem.CreateTextFile('C:\response1.json', true);
                    file.Write(client.responseText);
                    file.Close();
                    // 
                    } else {
                    // 
                    var email = new ActiveXObject('Outlook.Application').CreateItem(0);
                    email.To = 'МояПочта';
                    email.Subject = 'Ошибка в API';
                    email.Body = 'Ошибка ' + client.status + ': ' + client.statusText;
                    email.Send();
                            }
                    }
                    };
                    }   
                            '''

Получаю ошибку - для проверки подлинности клиента требуется сертификат. Зайти в ЛК по сертификату могу. Что я делаю не так? Есть подозрение, что проблема в сертификате - кажется, что нужен другой формат (pfx или p7b), а cer вроде как совсем не то (не силен еще в таких вопросах) Буду очень признателен за помощь!


Ответы (0 шт):