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

ЦифровойСертификат

Стд::Криптография::ЦифровойСертификат Доступность: КлиентИСервер

Представляет цифровой сертификат открытого ключа стандарта X.509. Содержит отрытый ключ для проверки подписи, сведения о субъекте подписи, издателе и сроке действия.

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

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

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


Примеры

метод ПроверитьСертификат(БайтыСертификата: Байты)
знч Сертификат = новый ЦифровойСертификат(БайтыСертификата)

если не Сертификат.ПроверитьДействительность()
выбросить новый ИсключениеНедопустимыйАргумент("Сертификат недействителен")
;
;

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

ЦифровойСертификат

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

ЦифровойСертификат(Данные: Байты|ПотокЧтения)
Перегрузка:
ЦифровойСертификат(Файл: Файл|Строка)

Загружает сертификат из данных сертификата Данные формата X.509 в кодировке DER.

Исключения

ИсключениеКриптографии - при ошибке чтения данных.


ЦифровойСертификат

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

ЦифровойСертификат(Файл: Файл|Строка)
Перегрузка:
ЦифровойСертификат(Данные: Байты|ПотокЧтения)

Загружает сертификат из файла сертификата Файл формата X.509 в кодировке DER (*.cer, *.crt).


Свойства

Версия

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

Версия: Число

Номер версии сертификата.


ДействителенПо

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

ДействителенПо: Момент

Момент, начиная с которого сертификат перестает действовать.


ДействителенС

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

ДействителенС: Момент

Момент, начиная с которого сертификат начинает действовать.


Издатель

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

Издатель: Строка

Наименование издателя в формате RFC 2253 (CN, L, ST, O, OU, C, STREET, DC, UID).


ОткрытыйКлюч

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

ОткрытыйКлюч: ОткрытыйКлюч

Открытый ключ сертификата.


СерийныйНомер

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

СерийныйНомер: Байты

Серийный номер сертификата.


СертификатИздателя

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

СертификатИздателя: ЦифровойСертификат?

Сертификат издателя, ключом которого подписан текущий сертификат или Неопределено, если это самоподписанный сертификат или сертификат издателя отсутствовал в источнике, откуда получен текущий.


Субъект

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

Субъект: Строка

Наименование субъекта в формате RFC 2253 (CN, L, ST, O, OU, C, STREET, DC, UID).


Методы

ВБайты

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

ВБайты(): Байты
Сохраняет хранилище в последовательность байтов формата X.509 в кодировке DER.


ВСтроку

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

ВСтроку(): Строка
Переопределение: ВСтроку

Возвращает строковое представление со значениями свойств сертификата.


ЗаписатьВПоток

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

ЗаписатьВПоток(Поток: ПотокЗаписи)
Записывает сертификат в поток Поток формата X.509 в кодировке DER.

Исключения

ИсключениеКриптографии - при ошибке записи сертификата.


ЗаписатьВФайл

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

ЗаписатьВФайл(Файл: Файл|Строка)
Записывает сертификат в файл Файл формата X.509 в кодировке DER.

Исключения

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


ПолучитьАтрибутыИздателя

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

ПолучитьАтрибутыИздателя(): ЧитаемоеСоответствие<АтрибутX500|Строка, Строка>
Возвращает атрибуты издателя в виде соответствия по значениям перечисления АтрибутX500 или значениям OID в виде строки, если соответствующее значение, отсутствует в перечислении АтрибутX500.


ПолучитьАтрибутыСубъекта

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

ПолучитьАтрибутыСубъекта(): ЧитаемоеСоответствие<АтрибутX500|Строка, Строка>
Возвращает атрибуты субъекта в виде соответствия по значениям перечисления АтрибутX500 или значениям OID в виде строки, если соответствующее значение, отсутствует в перечислении АтрибутX500.


ПолучитьЗакрытыйКлюч

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

ПолучитьЗакрытыйКлюч(Пароль: Секрет|Строка): ЗакрытыйКлюч?
Возвращает закрытый ключ, связанный с сертификатом, если он есть и доступен.

Исключения

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


ПолучитьОтпечаток

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

ПолучитьОтпечаток(): Байты
Возвращает отпечаток текущего сертификата. Вычисление отпечатка выполняется с использованием алгоритма хеширования в зависимости от открытого ключа:

  • если алгоритм асимметричного шифрования открытого ключа соответствует ГОСТ 34.10, то будет использован алгоритм ГОСТ 34.11 с длиной сообщения 256 бит,
  • во всех остальных случаях будет использован алгоритм SHA-1.

Исключения

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


ПолучитьОтпечаток

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

ПолучитьОтпечаток(
Алгоритм: АлгоритмХеширования,
Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
): Байты
Возвращает отпечаток текущего сертификата. Вычисление отпечатка выполняется с использованием переданного алгоритма Алгоритм, реализуемого криптопровайдером Криптопровайдер. Если Криптопровайдер не указан - будет подобран автоматически: приоритет в первую очередь отдается Криптопро, затем BouncyCastle, затем любой криптопровайдер, имеющий реализацию алгоритма шифрования.

Исключения

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


ПроверитьДействительность

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

ПроверитьДействительность(Момент: Момент? = Неопределено): Булево
Проверяет что сертификат действителен на момент Момент. Если момент не указан, используется текущее системное время.


ПроверитьПодпись

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

ПроверитьПодпись(
СертификатИздателя: ЦифровойСертификат,
Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
): Булево
Проверяет, что сертификат был подписан закрытым ключом, связанным с открытым ключом сертификата СертификатИздателя. Проверка выполняется с использованием алгоритмов криптопровайдера Криптопровайдер. Если Криптопровайдер не указан - будет подобран автоматически.

Исключения

ИсключениеКриптографии - в случае ошибки проверки подписи или определения криптопровайдера.


РазорватьЦепочку

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

РазорватьЦепочку(): ЦифровойСертификат
Возвращает копию текущего сертификата с незаполненным свойством СертификатИздателя. Если свойство СертификатИздателя не заполнено возвращает текущий экземпляр объекта.


СформироватьЦепочку

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

СформироватьЦепочку(
СертификатИздателя: ЦифровойСертификат,
Криптопровайдер: Криптопровайдер|Строка|? = Неопределено
): ЦифровойСертификат
Возвращает копию текущего сертификата, у которого свойство СертификатИздателя возвращает значение СертификатИздателя. Метод проверяет, что сертификат был подписан закрытым ключом, связанным с открытым ключом сертификата СертификатИздателя. Проверка выполняется с использованием алгоритмов криптопровайдера Криптопровайдер. Если Криптопровайдер не указан - будет подобран автоматически.

Исключения

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


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

Объект

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