Хранилище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
Файл формата 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.
Исключения
ИсключениеНедопустимыйАргумент - при невалидных символах в пути к файлу. ИсключениеНедопустимыйФормат - если пароль содержит недопустимые символы. ИсключениеКриптографии - ошибка криптопровайдера, либо ключи не поддерживают сохранение в файл ИсключениеВводаВывода - при ошибке записи