Перейти к основному содержимому

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

Стд::Криптография::ВычислительПодписи Доступность: КлиентИСервер

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

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

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

Базовые типы: Объект


Примеры

метод ПодписатьГост3410(Данные: ПотокЧтения, Ключи: ХранилищеКлючей, Сотрудник: Строка, Секрет: Строка): Байты
знч Криптопровайдер = Криптография.ПолучитьBouncyCastle()
знч Сертификат = Ключи.НайтиСертификат(Сотрудник)
знч КлючГост3410 = Ключи.НайтиЗакрытыйКлюч(Сотрудник, Секрет)

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

возврат Вычислитель.Подписать(Данные)
;

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

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

Доступность: Клиент

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

Создает вычислитель электронной подписи. При вызове пытается подключить расширение работы с криптографией. Если оно не установлено, пользователю будет предложено его установить.

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


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

Доступность: Сервер

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

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

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

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


Свойства

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

Доступность: КлиентИСервер ТолькоЧтение

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

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


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

Доступность: КлиентИСервер ТолькоЧтение

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

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


ВключениеДанныхВПодпись

Доступность: Клиент

ВключениеДанныхВПодпись: Булево

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

Доступность: Сервер ТолькоЧтение

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

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


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

Доступность: КлиентИСервер ТолькоЧтение

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

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


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

Доступность: Сервер

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

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


ПарольДоступаКЗакрытомуКлючу

Доступность: Клиент

ПарольДоступаКЗакрытомуКлючу: Строка

Сертификат

Доступность: КлиентИСервер ТолькоЧтение

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


Методы

ДобавитьШтампВремени

Доступность: Клиент Статический

ДобавитьШтампВремени(
Подпись: Байты|ДвоичныйОбъект.Ссылка,
Адрес: Строка
): Байты
Добавляет штамп времени для подписи, используя адрес доверенной службы штампов времени. Если в подписи уже присутствовал штамп времени, он перезапишется, актуальным будет более поздний штамп.


ДобавитьШтампВремени

Доступность: Сервер Статический

ДобавитьШтампВремени(
Подпись: Байты|ПотокЧтения,
Адрес: Строка,
Прокси: ИнтернетПрокси? = Неопределено
): Байты
Добавляет штамп времени для подписи, используя адрес доверенной службы штампов времени. Для запроса через proxy-сервер указываются настройки Прокси. Если в подписи уже присутствовал штамп времени, он перезапишется, актуальным будет более поздний штамп. Для добавления штампа времени требуется регистрация криптопровайдера Bouncy Castle (https://www.bouncycastle.org/java.html).

Исключения

null - в случае ошибки запроса к службе штампов времени.


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

Доступность: Сервер Статический

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

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

Исключения

ИсключениеНедопустимыйАргумент - в случае, если для указанного сертификата не найдена соответствующая запись в подписи. ИсключениеКриптографии - в случае ошибки чтения или формирования подписи.

Примеры

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

Подписать

Доступность: Сервер

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


Подписать

Доступность: Клиент

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


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

Доступность: Клиент

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

Если служба не указана подпись будет сформирована без штампа времени.


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

Доступность: Сервер

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

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

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

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


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

Объект

ВСтроку, ПолучитьТип, Представление