Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline pavenko_sv  
#1 Оставлено : 15 сентября 2017 г. 9:16:16(UTC)
pavenko_sv

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.08.2017(UTC)
Сообщений: 70
Мужчина
Российская Федерация
Откуда: Нижний Новгород

Сказал «Спасибо»: 39 раз
Доброе время суток, прошу Вас помочь разобраться с проблемой.

Сейчас не формируется подпись CADES-XLT1 через плагин по сертификатам полученным от СКБ Контур.

Цитата:
Доступ к информации о центрах сертификации(1.3.6.1.5.5.7.1.1):
[1]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp.skbkontur.ru/certificates/uc-test-63fz.crt
[2]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp2.skbkontur.ru/certificates/uc-test-63fz.crt


Используя полученный от СКБ Контура тестовый ключ и КриптоПро Плагин создаю отсоединенную подпись CADES-XLT1.
Пару дней назад подпись создавалась потом перестала. Ошибка "The URL of OCSP service is not specified (0xC2110121)"

Добавляю архив с созданной подписью: sign (3).zip (82kb) загружен 3 раз(а).
Все сформированные подписи прошли проверку [КриптоПро DSS](https://dss.cryptopro.ru/Lite/Verify/)

Тема создана и у Диадока:
Не проходит проверка подлинности подписи #243

Что сейчас сломалось?

Коды формирования последовательно:

1) Загружаем файл:
Код:
<input type='file'
                   (change)="fileChangeEvent($event)"
                   placeholder="Upload file..."
                   accept=".pdf, application/pdf"
                   required="required"
                   title="Выбрать PDF">

Код:
fileChangeEvent(fileInput: any) {
        this.fileDocument.description = fileInput.target.files[0].name;

        let selectedFile = fileInput.target.files;
        if (selectedFile.length > 0) {
            let fileToLoad = selectedFile[0];
            let oFReader: FileReader = new FileReader();
            if (typeof (oFReader.readAsDataURL) != "function") {
                ShowError("Method readAsDataURL() is not supported in FileReader.");
                return;
            }
            oFReader.onloadend = (e) => {
                let header = ";base64,";
                let sFileData = oFReader.result;
                this.fileDocument.file = sFileData.substr(sFileData.indexOf(header) + header.length);
                this.updated.emit('fileload');
            };
            oFReader.readAsDataURL(fileToLoad);
            if (!this.certslist)
                this.refreshList();
        }
    }


2) Формируем подпись
Код:
signCreated() {
        this.freeze = true;
        return this.crypto.signature(this.selected.thumbprint, this.fileDocument.file, this.cadesTypeSelected, this.isbDetached, this.tspServiceSelected)
            .then(
            (res: any) => {
                this.updated.emit('signcreated');
                let blob = this.newBlobFromBase64(res, 'application/pkcs7-signature');
                if (blob) {
                    this.uploadfile(blob);
                    this.downloadfile(blob, `${this.fileDocument.description}.p7s`);
                }
                this.freeze = false;
            }
            , (error) => {
                this.freeze = false;
                ShowError(error.message);
            });
    }


Код:
public signature(certificatethumbprint, encodeString, cadesTypeSelected: boolean, isbDetached: boolean, tspService: string) {

        return {
            then: (resolve, reject) => {

                if (this.isChromium) {
                    let thenable = window["SignCreate"](certificatethumbprint, encodeString, cadesTypeSelected, isbDetached, tspService);
                    thenable.then((result) => resolve(result), (error) => reject(error));
                } else {
                    try {
                        let result = window["SignCreate"](certificatethumbprint, encodeString, cadesTypeSelected, isbDetached, tspService);
                        if (result === null) reject(result);
                        else resolve(result);
                    } catch (error) {
                        reject(error);
                    }
                }
            }
        };

    }


Код:
function SignCreate(thumbprint, dataToSign, cadesTypeSelected, isbDetached, tspService) {
    return new Promise(function(resolve, reject){
        cadesplugin.async_spawn(function *(args) {
            try {    
                let oStore = yield cadesplugin.CreateObjectAsync("CAPICOM.Store");
                yield oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
                
                let CertificatesObj = yield oStore.Certificates;
                let oCertificates = yield CertificatesObj.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
                
                let Count = yield oCertificates.Count;
                let oCertificate = yield oCertificates.Item(1);
                let oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
                yield oSigner.propset_Certificate(oCertificate);
                yield oSigner.propset_Options(CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN);
                if(cadesTypeSelected != 1){
                    yield oSigner.propset_TSAAddress(tspService);
                }
                let oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
                yield oSignedData.propset_ContentEncoding(CADESCOM_BASE64_TO_BINARY);
                yield oSignedData.propset_Content(dataToSign);

                let sSignedMessage = yield oSignedData.SignCades(oSigner, cadesTypeSelected, isbDetached);
                
                yield oSignedData.VerifyCades(sSignedMessage, cadesTypeSelected, isbDetached);

                yield oStore.Close();
                args[2](sSignedMessage);
                return true;

                resolve(true);

            } catch (err) {
                alert(err.message);
                reject(err);
            }
        }, thumbprint, dataToSign, resolve, reject);
    });
}


Ошибка на строчке:
Код:
let sSignedMessage = yield oSignedData.SignCades(oSigner, cadesTypeSelected, isbDetached);

Отредактировано пользователем 15 сентября 2017 г. 10:11:11(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#2 Оставлено : 15 сентября 2017 г. 10:18:30(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
OCSP или в сертификатах должен быть или задан через настройки.

Ссылку давал несколько раз в других темах.

Проверяйте, где не выполняются условия и исправляйте

Отредактировано пользователем 15 сентября 2017 г. 10:19:08(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 15.09.2017(UTC)
Offline pavenko_sv  
#3 Оставлено : 15 сентября 2017 г. 10:31:23(UTC)
pavenko_sv

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.08.2017(UTC)
Сообщений: 70
Мужчина
Российская Федерация
Откуда: Нижний Новгород

Сказал «Спасибо»: 39 раз
Автор: Андрей * Перейти к цитате
OCSP или в сертификатах должен быть или задан через настройки.

В сертификате указаны OCSP:
Цитата:
* Точки распространения списков отзыва (CRL)(2.5.29.31):
[1]Точка распределения списка отзыва (CRL)
Имя точки распространения:
Полное имя:
URL=http://cdp.skbkontur.ru/cdp/uc-test-63fz.crl
[2]Точка распределения списка отзыва (CRL)
Имя точки распространения:
Полное имя:
URL=http://cdp2.skbkontur.ru/cdp/uc-test-63fz.crl

* Доступ к информации о центрах сертификации(1.3.6.1.5.5.7.1.1):
[1]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp.skbkontur.ru/certificates/uc-test-63fz.crt
[2]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp2.skbkontur.ru/certificates/uc-test-63fz.crt


Проверяю требования к конфигурации "Создание сообщения с усовершенствованной подписью (CAdES-X Long Type 1)":

1) "Должны быть выполнены все требования для создания подписи CAdES-T."
Подпись CAdES-T Создаётся.

Должна быть доступна запущенная служба актуальных статусов (OCSP-сервер).
Файлики отсюда по ссылкам скачиваются:
Цитата:
Доступ к информации о центрах сертификации(1.3.6.1.5.5.7.1.1):
[1]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp.skbkontur.ru/certificates/uc-test-63fz.crt
[2]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp2.skbkontur.ru/certificates/uc-test-63fz.crt


3)"OCSP-сервер должен быть сконфигурирован таким образом, чтобы в поле ThisUpdate OCSP-ответа проставлялось текущее время (например, в режиме работы по БД ЦС для КриптоПро OCSP Server)."
Как я могу это проверить?

4) "Если соединение с OCSP-сервером осуществляется через прокси-сервер, и этот прокси-сервер отличается от настроенного в Internet Explorer, то его адрес должен быть задан либо в групповых политиках соответствующего клиента, либо передан в качестве аргумента соответствующим функциям КриптоПро ЭЦП SDK."
Прокси не используется

5) "Если для соединения с OCSP-сервером требуется аутентификация, то соответствующие параметры должны быть заданы в групповых политиках соответствующего клиента, либо переданы в качестве аргуметов соответствующим функциям КриптоПро ЭЦП SDK."
Аутентификация нигде не запрашивается

6) "Адрес OCSP-сервера должен либо содержаться в расширении AIA (Authority Information Access) сертификата, на ключе которого создаётся подпись, либо должен быть задан в групповой политике КриптоПро OCSP Client Адрес службы OCSP по умолчанию, либо его можно указать в свойствах сертификата УЦ, выдавшего данный сертификат. Для этого сертификат УЦ нужно установить в соответствующее хранилище локального компьютера, после чего указать необходимый адрес в свойствах на вкладке «Протокол OCSP»."
sert.jpg (35kb) загружен 20 раз(а).
Если я правильно понял сертификат и корневой установлены

7) Сертификат, на котором создаётся подпись и сертификат службы штампов времени, должны проверяться на отзыв и для них должны строиться цепочки.
"Сертификат штампа времни какя могу получить от СКБ Контура по запросу или самостоятельно?"
Полученный от вас установлен

8) Для сертификата службы актуальных статусов должна строиться цепочка, также он должен иметь расширение Признак доверия службе OCSP (id-pkix-ocsp-nocheck - OID 1.3.6.1.5.5.7.48.1.5).
Схожий адрес в сертификате: Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Но он не равен (id-pkix-ocsp-nocheck - OID 1.3.6.1.5.5.7.48.1.5)
Цитата:
Доступ к информации о центрах сертификации(1.3.6.1.5.5.7.1.1):
[1]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp.skbkontur.ru/certificates/uc-test-63fz.crt
[2]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp2.skbkontur.ru/certificates/uc-test-63fz.crt

9) Должена быть установлена лицензия на КриптоПро OCSP Client.
KkriptoProCSP.jpg (63kb) загружен 23 раз(а).

Можно ли мне имяю эту информации теперь помочь починить?

Отредактировано пользователем 15 сентября 2017 г. 10:55:33(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#4 Оставлено : 15 сентября 2017 г. 11:02:18(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Я не вижу в сертификате URL OCSP службы.
В сертификате есть только URL на CRL.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 15.09.2017(UTC)
Offline Андрей Писарев  
#5 Оставлено : 15 сентября 2017 г. 11:04:06(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Цитата:

8) Для сертификата службы актуальных статусов должна строиться цепочка, также он должен иметь расширение Признак доверия службе OCSP (id-pkix-ocsp-nocheck - OID 1.3.6.1.5.5.7.48.1.5).
Схожий адрес в сертификате: Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Но он не равен (id-pkix-ocsp-nocheck - OID 1.3.6.1.5.5.7.48.1.5)


Расширение смотреть: Улучшенный ключ, а не информацию про сертификаты УЦ.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 15.09.2017(UTC)
Offline Андрей Писарев  
#6 Оставлено : 15 сентября 2017 г. 11:05:54(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Автор: pavenko_sv Перейти к цитате

9) Должена быть установлена лицензия на КриптоПро OCSP Client.
KkriptoProCSP.jpg (63kb) загружен 23 раз(а).

Можно ли мне имяю эту информации теперь помочь починить?


OCSP Client - это не КриптоПРО CSP.
Это другой продукт.

Пуск\Все программы\КРИПТО-ПРО\КриптоПРО PKI - там перечислены продукты и лицензии.

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 15.09.2017(UTC)
Offline Андрей Писарев  
#7 Оставлено : 15 сентября 2017 г. 11:07:46(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Цитата:
Должна быть доступна запущенная служба актуальных статусов (OCSP-сервер).
Файлики отсюда по ссылкам скачиваются:
Цитата:
Доступ к информации о центрах сертификации(1.3.6.1.5.5.7.1.1):
[1]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp.skbkontur.ru/certificates/uc-test-63fz.crt
[2]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp2.skbkontur.ru/certificates/uc-test-63fz.crt


Служба проверки статуса - это не ссылка на файл с сертификатом УЦ.
Это ПО, которое проверяет наличие сертификата по серийному номеру, его статус и подписывает свой ответ.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
pavenko_sv оставлено 15.09.2017(UTC)
Offline pavenko_sv  
#8 Оставлено : 15 сентября 2017 г. 11:08:41(UTC)
pavenko_sv

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.08.2017(UTC)
Сообщений: 70
Мужчина
Российская Федерация
Откуда: Нижний Новгород

Сказал «Спасибо»: 39 раз
Автор: Андрей * Перейти к цитате
Автор: pavenko_sv Перейти к цитате

9) Должена быть установлена лицензия на КриптоПро OCSP Client.
KkriptoProCSP.jpg (63kb) загружен 23 раз(а).

Можно ли мне имяю эту информации теперь помочь починить?


OCSP Client - это не КриптоПРО CSP.
Это другой продукт.

Пуск\Все программы\КРИПТО-ПРО\КриптоПРО PKI - там перечислены продукты и лицензии.



KriptoProPKIScreen.jpg (51kb) загружен 18 раз(а).
Offline pavenko_sv  
#9 Оставлено : 15 сентября 2017 г. 11:11:27(UTC)
pavenko_sv

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.08.2017(UTC)
Сообщений: 70
Мужчина
Российская Федерация
Откуда: Нижний Новгород

Сказал «Спасибо»: 39 раз
Автор: Андрей * Перейти к цитате
Цитата:
Должна быть доступна запущенная служба актуальных статусов (OCSP-сервер).
Файлики отсюда по ссылкам скачиваются:
Цитата:
Доступ к информации о центрах сертификации(1.3.6.1.5.5.7.1.1):
[1]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp.skbkontur.ru/certificates/uc-test-63fz.crt
[2]Доступ к сведениям центра сертификации
Метод доступа=Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Дополнительное имя:
URL=http://cdp2.skbkontur.ru/certificates/uc-test-63fz.crt


Служба проверки статуса - это не ссылка на файл с сертификатом УЦ.
Это ПО, которое проверяет наличие сертификата по серийному номеру, его статус и подписывает свой ответ.


Где я могу получить такое ПО?
Offline pavenko_sv  
#10 Оставлено : 15 сентября 2017 г. 11:12:22(UTC)
pavenko_sv

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.08.2017(UTC)
Сообщений: 70
Мужчина
Российская Федерация
Откуда: Нижний Новгород

Сказал «Спасибо»: 39 раз
Автор: Андрей * Перейти к цитате
Цитата:

8) Для сертификата службы актуальных статусов должна строиться цепочка, также он должен иметь расширение Признак доверия службе OCSP (id-pkix-ocsp-nocheck - OID 1.3.6.1.5.5.7.48.1.5).
Схожий адрес в сертификате: Поставщик центра сертификации (1.3.6.1.5.5.7.48.2)
Но он не равен (id-pkix-ocsp-nocheck - OID 1.3.6.1.5.5.7.48.1.5)


Расширение смотреть: Улучшенный ключ, а не информацию про сертификаты УЦ.


* Улучшенный ключ(2.5.29.37):
Проверка подлинности клиента (1.3.6.1.5.5.7.3.2)
Пользователь Центра Регистрации, HTTP, TLS клиент (1.2.643.2.2.34.6)
Защищенная электронная почта (1.3.6.1.5.5.7.3.4)
Квалифицированный сертификат (1.2.643.3.7.8.1)
Абонент Системы Контур-Экстерн (1.2.643.3.7.1.1.1)
Информационные системы СКБ Контур (1.2.643.3.7.1)
Сертификат сроком на 12 месяцев (1.2.643.3.7.0.1.12)

Такого нет нигде, а где должен быть?
OID 1.3.6.1.5.5.7.48.1.5
И что теперь делать?

Отредактировано пользователем 15 сентября 2017 г. 11:22:12(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.