Link Search Menu Expand Document

ВычислительПодписи

Стд::Криптография::ВычислительПодписи
Базовые типы: Объект

Иерархия типа

graph TD;
ВычислительПодписи-->Объект;

Вычислитель электронной подписи в формате CAdES.

Сравнение ссылочное


Примеры

метод ПодписатьГост3410(Данные: ПотокЧтения, Ключи: ХранилищеКлючей, Сотрудник: Строка, Секрет: Строка): Байты
    знч Криптопровайдер = Криптография.ПолучитьBouncyCastle()
    знч Сертификат = Ключи.НайтиСертификат(Сотрудник)
    знч КлючГост3410 = Ключи.НайтиЗакрытыйКлюч(Сотрудник, Секрет)
    
    знч Вычислитель = новый ВычислительПодписи(Криптопровайдер, Сертификат, КлючГост3410)
    Вычислитель.УстановитьСлужбуШтамповВремени("http://qs.cryptopro.ru/tsp/tsp.srf")
    
    возврат Вычислитель.Подписать(Данные)
;

Конструкторы

ВычислительПодписи

ВычислительПодписи(
  Криптопровайдер: Криптопровайдер|Строка,
  Сертификат: ЦифровойСертификат,
  ЗакрытыйКлюч: ЗакрытыйКлюч,
  АлгоритмХеширования: АлгоритмХеширования|Строка|? = Неопределено)

Создает вычислитель электронной подписи в формате CAdES. Если значение АлгоритмХеширования не определено, для алгоритмов ГОСТ будет использовано хеширование по ГОСТ 34.11, в остальных случаях подпись будет создаваться без хеширования данных, если это поддерживается криптопровайдером.

Криптопровайдер - провайдер криптографии, который предоставляет алгоритмы формирования формата CMS. Сертификат - цифровой сертификат открытого ключа, который будет включен в подпись формата CMS. ЗакрытыйКлюч - закрытый ключ, который будет использован для вычисления подписи. АлгоритмХеширования - алгоритм хеширования, который будет использован для преобразования данных, перед вычислением подписи.

Будет добавлена вся цепочка сертификатов, полученная из свойств СертификатИздателя.


Свойства

АдресСлужбыШтамповВремени

ТолькоЧтение АдресСлужбыШтамповВремени: Строка?

Адрес службы штампов времени. По умолчанию Неопределено.


АлгоритмХеширования

ТолькоЧтение АлгоритмХеширования: АлгоритмХеширования|Строка|?

Алгоритм хеширования, который будет использован для преобразования данных, перед вычислением подписи.


ЗакрытыйКлюч

ТолькоЧтение ЗакрытыйКлюч: ЗакрытыйКлюч

Закрытый ключ, который будет использован для вычисления подписи.


Криптопровайдер

ТолькоЧтение Криптопровайдер: Криптопровайдер

Провайдер криптографии, который предоставляет алгоритмы формирования формата CAdES.


МоментПодписи

МоментПодписи: Момент?

Момент вычисления подписи. Если значение не указано, при вычислении подписи будет использовано текущее системное время. По умолчанию Неопределено.


Сертификат

ТолькоЧтение Сертификат: ЦифровойСертификат

Цифровой сертификат открытого ключа, который будет включен в подпись формата CAdES.


Методы

ЗаменитьСертификат

Статический ЗаменитьСертификат(
  Подпись: Байты|ПотокЧтения,
  Сертификат: ЦифровойСертификат
): Байты

Заменяет сертификат или цепочку сертификатов в сформированной подписи формата CMS. Возвращает последовательность байтов электронной подписи формата CMS, которые содержат указанный Сертификат. Метод позволяет удалить ненужные в подписи сертификаты цепочки или дополнить недостающие.

Для замены сертификата требуется регистрация криптопровайдера Bouncy Castle (https://www.bouncycastle.org/java.html).

Примеры

метод УдалитьКорневойСертификат(Подпись: Байты): Байты
    знч Верификатор = новый ВерификаторПодписи(Криптография.ПолучитьBouncyCastle(), Подпись)
    знч Сертификат = Верификатор.ПолучитьСертификаты().ПервыйИлиУмолчание()
    если Сертификат?.СертификатИздателя == Неопределено
        возврат Подпись
    ;
    возврат ВычислительПодписи.ЗаменитьСертификат(Подпись, Сертификат.РазорватьЦепочку())
;

Подписать

Подписать(Данные: Байты|ПотокЧтения): Байты

Вычисляет электронную подпись для данных Данные. Возвращает последовательность байтов электронной подписи формата CAdES.


УстановитьСлужбуШтамповВремени

УстановитьСлужбуШтамповВремени(
  Адрес: Строка?,
  Прокси: ИнтернетПрокси? = Неопределено)

Устанавливает Адрес службы штампов времени. Так как сертификат ЭЦП имеет срок действия, а так же может быть отозван в любой момент, установленная подпись в определённый момент может перестать проходить проверку. Чтобы проверка проходила после истечения строка действия сертификата, при вычислении подписи можно указать адрес доверенной службы штампов времени (TSP), которая предоставляет данные, подтверждающие, что на момент вычисления подписи сертификат был действительный.

Если служба не указана подпись будет сформирована без штампа времени. Для запроса через proxy-сервер указываются настройки Прокси.

Российские службы штампов времени (для подписей по стандарту ГОСТ 34.10):

  • УЦ АйтиКом: http://service.itk23.ru/itcomTSP/tsp.srf
  • УЦ ИТК: http://service.itk23.ru/tsp/tsp.srf
  • УЦ ООО «КРИПТО-ПРО»: http://qs.cryptopro.ru/tsp/tsp.srf
  • Тестовый УЦ ООО «КРИПТО-ПРО»: http://testca2012.cryptopro.ru/tsp/tsp.srf или
  • УЦ ООО «Сертум-ПРО»: http://pki.sertum-pro.ru/tsp/tsp.srf
  • УЦ АО ПФ СКБ Контур: http://pki.skbkontur.ru/tsp/tsp.srf
  • Национальный Удостоверяющий центр: http://tsp.ncarf.ru/tsp/tsp.srf
  • Такском: http://tsp.taxcom.ru/tsp/tsp.srf
  • Тензор: http://tax4.tensor.ru/tsp-tensor_gost2012/tsp.srf
  • НТСсофт: http://ocsp.ntssoft.ru/tsp/tsp.srf
  • УЦ e-Notary: http://tsp.e-notary.ru/tsp/tsp.srf

Иностранные службы штампов времени:

  • http://timestamp.digicert.com
  • http://timestamp.globalsign.com/tsa/r6advanced1
  • http://rfc3161timestamp.globalsign.com/advanced
  • http://timestamp.sectigo.com
  • http://timestamp.apple.com/ts01
  • http://tsa.mesign.com
  • http://time.certum.pl
  • https://freetsa.org
  • http://timestamp.globalsign.com/scripts/timstamp.dll
  • http://timestamp.globalsign.com/?signature=sha2
  • http://timestamp.wosign.com
  • http://tsa.startssl.com/rfc3161
  • http://dse200.ncipher.com/TSS/HttpTspServer
  • http://zeitstempel.dfn.de
  • https://ca.signfiles.com/tsa/get.aspx
  • http://services.globaltrustfinder.com/adss/tsa
  • https://tsp.iaik.tugraz.at/tsp/TspRequest
  • http://timestamp.entrust.net/TSS/RFC3161sha2TS
  • http://tsa.starfieldtech.com/

Список унаследованных методов

Объект