Тип: ФиксированнаяСтруктура. Содержит информацию об издателе. Строковые элементы со следующими именами: CN - commonName; O - organizationName; OU - organizationUnitName; C - countryName; ST - stateOrProvinceName; L - localityName; E - emailAddress; Street - streetAddress. Все поля записываются в структуру вида "Ключ - Значение", где данные для ключа и значения получаются из данных сертификата. Формат ключа имеет вид: OID<X1>_<X2>_..._<XN>, где X<i> - это компонента идентификатора OID.
Полное описание, параметры и ограничения
СертификатКриптографии.Издатель (CryptoCertificate.Issuer)
СертификатКриптографии (CryptoCertificate)
Издатель (Issuer)
Доступен, начиная с версии 8.2.
Использование:
Только чтение.
Описание:
Тип: ФиксированнаяСтруктура.
Содержит информацию об издателе.
Строковые элементы со следующими именами:
CN - commonName;
O - organizationName;
OU - organizationUnitName;
C - countryName;
ST - stateOrProvinceName;
L - localityName;
E - emailAddress;
Street - streetAddress.
Все поля записываются в структуру вида "Ключ - Значение", где данные для ключа и значения получаются из данных сертификата. Формат ключа имеет вид:
OID<X1>_<X2>_..._<XN>, где X<i> - это компонента идентификатора OID.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Разобрать субъекта, издателя и алгоритмы учебного сертификата
Парсим настоящий публичный сертификат из встроенных DER-байтов. Одинаковые CN субъекта и издателя у самоподписанного образца не доказывают доверие.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную базу. Фрагмент без директив вставьте в тело серверной процедуры ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Все исходные байты создаются самим примером в памяти. Файлы, сеть, справочники и документы не нужны.
Запускайте задачи отдельно. После закрытия ЧтениеДанных/ЗаписьДанных не используйте этот экземпляр повторно.
В пример встроен отдельный публичный учебный X.509-сертификат Syntax Guide Training Only. Его закрытый ключ не сохранён, сертификат не установлен в хранилище ОС и не признан доверенным.
Используйте Windows-клиент или Windows-сервер 1С 8.5.1.1343. Проверка других ОС, веб-клиента и расширений криптографии этим уроком не подтверждена.
Не заменяйте учебный сертификат рабочим для первого запуска. Код ничего не подписывает, не импортирует в хранилища, не обращается к OCSP/CRL и не просит пароль.
ИсходныеДанные = Base64Значение("MIIC+jCCAeKgAwIBAgIBVTANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpTeW50YXggR3VpZGUgVHJhaW5pbmcgT25seTAeFw0yMDAxMDEwMDAwMDBaFw0zNTEyMzEwMDAwMDBaMCUxIzAhBgNVBAMMGlN5bnRheCBHdWlkZSBUcmFpbmluZyBPbmx5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkraGtF6mSMHQWI0lIdDxzNjLTB0VHmtLUYEIxXFFJepQtyMGWZ9rfpbTglFp8wpsw+Wc09FQyDFuKsNz3cBcBBx7fTmJVuYzfrXjhDECNqEoKMEf+Qrim3WsVKA/Qr8IMnzq1qdnA1pLgaaKyscfCJkw9W1yoTlLV3PmGs6h6gP1/KXwe+zKN5r3Jl0IVk8RXTLAeyqN01lCuyzaeSYm/v2YS88LdaJ/nkdFqy5QjRXfm7EOCW7eCZlCBwW0EvGhUarZxWlq04lPs9qu3aC3/6gY/scE2vY1jeZV2VpV0lLQpU5gVdjVGI4YQmfgkb8jYtV5U7FQ1KQ6Poji/ort6wIDAQABozUwMzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQsFAAOCAQEARoo1FJJKKkaZXyFl1tlYj8K7xvryXwhb+tCaFvdXuON27YC3/YIHLUT9sCF9o76VIT8dsVMpK0Qo+VV0FIvqRcB+u6SmyJ+Y7590mzd5P1CSt8Y/4BNV2LosYxhcdVczs26PWHL5GXyBMWRxtBjNsnTeMKh4/WIMrplAr0IOJCmjIeKhv0JbQacsNqhmpe7JdgtBYC4Rrn3ajdD99HZREmyLR/iJrh6W4IGqSN0MGT0xL/mLI0GsTp9JhHDF3o8bmC1yMDlLOoAZp7M072bzfDsKFPg4ATQp/hhbtsTdS/LXrd9cLehZ7ThH6ljL8y2JbALD+6HPnT6Sv+Mg0Wq0MA==");
Сертификат = Новый СертификатКриптографии(ИсходныеДанные);
ИмяСубъекта = Неопределено;
ИмяИздателя = Неопределено;
Если Не Сертификат.Субъект.Свойство("CN", ИмяСубъекта) Тогда
ВызватьИсключение "В учебном субъекте нет CN";
КонецЕсли;
Если Не Сертификат.Издатель.Свойство("CN", ИмяИздателя) Тогда
ВызватьИсключение "В учебном издателе нет CN";
КонецЕсли;
Сообщить(ИмяСубъекта = "Syntax Guide Training Only");
Сообщить(ИмяИздателя = ИмяСубъекта);
Сообщить(Сертификат.АлгоритмОткрытогоКлюча = "1.2.840.113549.1.1.1");
Сообщить(Сертификат.АлгоритмПодписи = "1.2.840.113549.1.1.11");
Сообщить("Версия сертификата: " + Сертификат.Версия);Разбор по шагам
Base64Значение получает двоичные DER-данные. Это публичный сертификат, а не PFX с закрытым ключом.
Субъект и Издатель — фиксированные структуры; до чтения CN проверяем наличие элемента через Свойство.
OID открытого RSA-ключа отличается от OID алгоритма SHA-256 с RSA, которым подписан сам сертификат.
Версия выводится как диагностическая строка. Разбор структуры не проверяет доверенную цепочку и не подписывает документ.
Как проверить результат
Четыре сравнения Истина и диагностическая версия.
В отладчике оба CN равны Syntax Guide Training Only; это не личные данные реального человека.
Ожидаемый результат
Получены идентичность и алгоритмы отдельного учебного сертификата.
На что обратить внимание
Название сертификата не доказывает его подлинность или доверие.
АлгоритмПодписи относится к сертификату, не к будущей подписи PDF.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.