Поиск по блогу

вторник, 13 февраля 2018 г.

Запуск агента сервера 1С:Предприятие от имени доменного пользователя

1. Создаем доменную учетную запись.

Тут ничего подробно расписывать не буду, да и не занимаюсь я администрированием сети, пусть лучше этим займется мастер своего дела - системный администратор.

2. Блокируем начало сеансов

Запускаем консоль администрирования серверов 1С:Предприятие, открываем свойства информационной базы и устанавливаем галочку для свойства Блокировка начала сеансов включена. Учтите, что как только вы примените данное свойства, начало любых сеансов будет блокироваться, поэтому для выполнения следующего пункта конфигуратор должен быть запущен до применения свойства.

3. Делаем резервную копию

Тут уж как вам душа велит. Как по мне, самый простой и надежный способ создания резервной копии - это выгрузка информационной базы через конфигуратор.

понедельник, 5 февраля 2018 г.

Открываем доступ пользователю к хранилищу сертификатов локального компьютера

В данной статье рассматривается решение проблемы доступа к хранилищу сертификатов на операционных системах семейства Windows!

В библиотеке стандартных подсистем (БСП), начиная с версии 2.3, реализован мощный программный интерфейс для работы с криптографическими операциями. Выполнение криптографических операций требует обращение к хранилищу сертификатов, где хранится информация о сертификатах, установленных на компьютере. В момент программного обращения к хранилищу сертификатов, с целью получения информации о сертификате, может возникнуть ошибка доступа. Данная ошибка возникает по причине отсутствия необходимых прав у пользователя ОС к хранилищу сертификатов.

ОС Windows сертификаты хранит в двух основных хранилищах, которые подразделяются на вложенные хранилища. Основные хранилища:
  • Хранилище локального компьютера - содержит сертификаты, доступ к которым осуществляется выполняющимися на компьютере процессами;
  • Хранилище текущего пользователя - интерактивные приложения обычно помещают сертификаты в это хранилище для текущего пользователя компьютера.

среда, 28 декабря 2016 г.

Работа с base64 при разработке веб-сервиса

Допустим, у вас имеется веб-портал, который генерирует печатную форму в формате doc/docx. Генерация печатной формы происходит на стороне сервера - вызывается веб-сервис, который возвращает строку base64.

Для отладки такого веб-сервиса потребуется:
  • Google Chrome
  • Notepad++
Откройте страницу веб-портала с данным функционалом в браузере Google Chrome и вызовите панель отладки, нажав на F12. Выполните команду формирования печатной формы (т.е. команду, которая отвечает за вызов веб-сервиса), после этого действия в окне отладки отразится пункт с информацией по выполнению команды (информация о выполнении POST-запроса) (см. рисунок 1).
Рисунок 1. Панель отладки Google Chrome

воскресенье, 25 декабря 2016 г.

Валидация сертификата при проверке подписи XMLDSIG

В статье Проверка подписи XMLDSIG на примере СМЭВ рассказывается про проверку электронной подписи (ЭП) формата XMLDSIG. Как показала практика, метод Verify() объекта SignedXML не выполняет валидацию (действительность) сертификата ЭП.

Проверить действительность сертификата каждой электронной подписи, которой подписан XML документ, можно с помощью свойства Signers того же объекта SignedXML. Коллекция Signers заполняется в порядке следования элементов, найденных XPath-запросом. По умолчанию используется следующий запрос:
"//*[local-name()='Signature' and namespace-uri()='http://www.w3.org/2000/09/xmldsig\#']".

Важно, свойство Signers доступно только после проверки подписи. Данное свойство содержит коллекцию подписей, для которых доступен ограниченный набор свойств:
  • можно узнать статус подписи при помощи свойства Signer.SignatureStatus;
  • получить информацию о сертификате ключа подписи при помощи свойства Signer.Certificate.
Свойство Signer.Certificate содержит объект Certificate. У данного объекта есть метод IsValid(), который выполняет проверку действительности сертификата и возвращает объект CertificateStatus, содержащий результат проверки.