Выпуск облачного сертификата по технологии DSS - Synerdocs/synerdocs-sdk GitHub Wiki

Выпуск нового сертификата облачной ЭП начинается с создания заявки с помощью метода:

  • CreateCertificateIssueRequest – создать заявку на издание сертификата. При использовании данного метода реквизиты заявки задаются как свойства класса CertificateIssueRequest. Мы рекомендуем использовать именно этот метод, как более гибкий при условии, что сведения об организации и ее представителе уже имеются в атомарном виде в БД приложения, которое интегрируется с Synerdocs

    • выпуск сертификата требует прохождения идентификации в одном из центров партнера. Получить список доступных центров идентификации можно с помощью метода SearchProviderIdentificationCenters
  • CreateCertificateIssueRequestFromFile - создать заявку на издание сертификата на основании файла. Заявка передается в виде xml-файла. Обратная совместимость с заявками . Данный метод применим, если по тем или иным причинам не может быть использован метод CreateCertificateIssueRequest, например, если заявки собираются с нескольких филиалов и отправляются головной организацией.

Для указания того, что сертификат должен быть выпущен для работы по технологии DSS, необходимо указать это в запросе на создание заявки. Например, при создании заявки с помощью метода CreateCertificateIssueRequest необходимо указать request.CloudProviderType.Code = 2.

Методы возвращают статус создания заявки как CreateCertificateIssueRequestResponse.CreateCertificateIssueRequestResult.ValidationResult.Status. В случае наличия ошибок в заявке, их список будет приведен в CreateCertificateIssueRequestResponse.CreateCertificateIssueRequestResult.ValidationResult.Fields[].

По умолчанию, от имени организации-абонента сервиса могут быть созданы заявки на выпуск сертификата только для сотрудников этой организации. Для получения возможности выпуска сертификатов для сотрудников других организаций, например, если ваша организация готова выпускать сертификаты для своих контрагентов, Synerdocs может присвоить вашей организации идентификатор проекта интеграции. При создании заявки он указывается как:

  • CertificateIssueRequestCreationRequest.IntegrationProjectId в случае использования метода CreateCertificateIssueRequest;

  • CertificateIssueRequestFromFileCreationRequest.IntegrationProjectId в случае использования метода CreateCertificateIssueRequestFromFile. Если вы заключили прямой договор с Калуга Астрал об оплате услуг по изданию сертификатов и вам был присвоен уникальный идентификатор, то он может быть указан как CreateCertificateIssueRequest.request.PartnerId.

Для периодической проверки статуса заявки после ее создания может быть использован метод GetCertificateIssueShortInfo – получить краткую информацию о текущем состоянии издания сертификата.

Для выгрузки успешно выпущенного сертификата и/или исходного представления заявки, например, с целью разбора ошибок, может быть использован метод GetCertificateIssueInfo – получить информацию о текущем состоянии издания сертификата. Для включения в ответ QR-кода необходимо указать GetCertificateIssueInfo.settings.IncludeQrCode = true. QR-код вернется в виде gif-файла закодированного в Base64 в GetCertificateIssueInfoResponse.CertificateQrCode.Raw. При этом стоит учитывать, что срок действия QR-кода ограничен одним календарным месяцем. Дата выпуска QR-кода указана в GetCertificateIssueInfoResponse.CertificateQrCode.IssuedAt.

⚠️ **GitHub.com Fallback** ⚠️