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

ХранилищеPkcs12

Стд::Криптография::ХранилищеPkcs12

Хранилище сертификатов и ключей шифрования формата PKCS#12. Форматов файлов: *.p12, *.pfx. MIME-тип: application/x-pkcs12.

Сравнение

Ссылочное

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

Базовые типы: Объект, ХранилищеКлючей, ХранилищеСертификатов


Примеры​

Общие примеры

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

знч Ключ = Хранилище.НайтиЗакрытыйКлюч("Тест", ПарольКлюча)
знч Сертификат = Хранилище.НайтиСертификат("Тест")

знч Вычислитель = новый ВычислительПодписи(Криптопровайдер, Сертификат, Ключ, АлгоритмХеширования.Sha256)
Вычислитель.УстановитьСлужбуШтамповВремени("http://timestamp.sectigo.com")
знч Подпись = Вычислитель.Подписать(Данные)

знч Верификатор = новый ВерификаторПодписи(Криптопровайдер, Подпись)
если не Верификатор.Проверить(Данные)
выбросить новый ИсключениеНедопустимыйАргумент("Подпись не соответствует данным")
;
;
метод ВычислитьПодписьГост(Данные: Байты, PfxКриптоПро: Байты, ПарольPfx: СекретПриложения)
знч Криптопровайдер = Криптография.ПолучитьКриптоПроJcsp()
знч Хранилище = новый ХранилищеPkcs12(PfxКриптоПро, ПарольPfx, Криптопровайдер)

// Крипто Про не поддерживает пароли для отдельных ключей в Pfx, только на весь файл
знч Ключ = Хранилище.НайтиЗакрытыйКлюч("Тест", "")
знч Сертификат = Хранилище.НайтиСертификат("Тест")

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

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

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

ХранилищеPkcs12​

ХранилищеPkcs12(Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
Создает новый экземпляр пустого хранилища ключей.

Дополнительно может быть указан Криптопровайдер, реализующий специальный формат хранения:

  • Для экспорта ключевых контейнеров Крипто Про в pfx необходимо использовать криптопровайдер Крипто Про JCSP.

Исключения​

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

Перегрузка
ХранилищеPkcs12(Данные: Байты|ПотокЧтения, Пароль: Секрет|Строка = "", Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
ХранилищеPkcs12(Файл: Файл|Строка, Пароль: Секрет|Строка = "", Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)


ХранилищеPkcs12​

ХранилищеPkcs12(
  Данные: Байты|ПотокЧтения,
  Пароль: Секрет|Строка = "",
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
Загружает хранилище ключей из данных Данные в формате PKCS#12 (*.pfx). Пароль - пароль к хранилищу. Для использования разрешены символы ASCII с кодом от 33 до 126.

Дополнительно может быть указан Криптопровайдер, реализующий специальный формат хранения:

  • Для чтения файлов pfx полученных из Крипто Про CSP необходимо использовать криптопровайдер Крипто Про JCSP.

Исключения​

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

Перегрузка
ХранилищеPkcs12(Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
ХранилищеPkcs12(Файл: Файл|Строка, Пароль: Секрет|Строка = "", Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)


ХранилищеPkcs12​

ХранилищеPkcs12(
  Файл: Файл|Строка,
  Пароль: Секрет|Строка = "",
  Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
Загружает хранилище ключей из файла Файл формата PKCS#12 (*.p12, *.pfx). Пароль - пароль к хранилищу. Для использования разрешены символы ASCII с кодом от 33 до 126.

Дополнительно может быть указан Криптопровайдер, реализующий специальный формат хранения:

  • Для чтения файлов pfx полученных из Крипто Про CSP необходимо использовать криптопровайдер Крипто Про JCSP.

Исключения​

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

Перегрузка
ХранилищеPkcs12(Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)
ХранилищеPkcs12(Данные: Байты|ПотокЧтения, Пароль: Секрет|Строка = "", Криптопровайдер: Криптопровайдер|Строка|? = Неопределено)


Методы​

ВБайты​

ВБайты(Пароль: Секрет|Строка = ""): Байты
Сохраняет хранилище в массив байт формата PKCS#12 (*.pfx). Пароль - пароль, устанавливаемый на сохраненное хранилище. Для использования разрешены символы ASCII с кодом от 33 до 126.

Исключения​

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


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

ЗаписатьВПоток(
  Поток: ПотокЗаписи,
  Пароль: Секрет|Строка = "")
Сохраняет хранилище в поток Поток в формате PKCS#12 (*.pfx). Пароль - пароль, устанавливаемый на сохраненное хранилище. Для использования разрешены символы ASCII с кодом от 33 до 126.

Исключения​

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


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

ЗаписатьВФайл(
  Файл: Файл|Строка,
  Пароль: Секрет|Строка = "")
Сохраняет хранилище в файл Файл в формате PKCS#12 (*.pfx). Если файл по указанному пути существует, он будет перезаписан. Пароль - пароль, устанавливаемый на сохраненное хранилище. Для использования разрешены символы ASCII с кодом от 33 до 126.

Исключения​

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


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

Объект​

ВСтроку

ПолучитьТип

Представление

ХранилищеКлючей​

ДобавитьЗакрытыйКлюч

ДобавитьСертификат

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

Удалить

ХранилищеСертификатов​

НайтиПоСерийномуНомеру

НайтиПоСубъекту

НайтиСертификат

ПолучитьПсевдонимы

ПолучитьСертификаты

Размер

Содержит