1C-Company / DirectBank

DirectBank (прямой обмен с банком) – новая технология системы "1С:Предприятие 8"
51 stars 18 forks source link

Файл настроек. Правила подписания и сертификаты подписания #55

Open naty-stolayrova opened 4 years ago

naty-stolayrova commented 4 years ago

Добрый день,

Возникло несколько вопросов по файлу настроек, возвращаемом в ответном сообщении метода /GetSettings

  1. В файле настроек для каждого типа документа (Settings/Data/Document/) присутствует необязательный тег Settings/Data/Document/Signed. Правильно ли я понимаю, что если Банк ожидает от пользователя неподписанные документы, то для таких типов документов данный тег не формируется?

  2. Имеются ли в 1С такие типы документов, которые обязательно должны подписываться на стороне 1С перед отправкой в Банк? (возможно, Платежное поручение или Платежное требование). Или 1С для всех своих исходящих документов допускает их отправку в Банк неподписанными?

  3. Правильно ли я понимаю, что в передаваемом в 1С файле настроек:

    • если хотя бы для одного документа указано правило его подписания (/Data/Document/Signed/RuleSignatures), то в обязательном порядке должны передаваться и сертификаты ЭП сотрудников Клиента (/Data/CryptoParameters/CustomerSignature/GroupSignatures/Certificate)?
    • наоборот, если указаны сертификаты ЭП сотрудников Клиента , то это НЕ означает, что для документов должны быть в обязательном порядке указаны правила их подписания? т.е. сертификаты ЭП сотрудников Банка могут быть указаны и в том случае, когда Банк не требует подписания документов в 1С (для всех документов /Signed/RuleSignatures - отсутствует)?
  4. Если в файле настроек переданы сертификаты ЭП сотрудников Клиента и, например, для платежного поручения, указано правило подписания, то может ли пользователь 1С отправить в Банк НЕподписанную платежку? Или система 1С обяжет пользователя подписать платежное поручение и заблокирует отправку в банк платежки до момента ее подписания?

  5. Если ответом на вопрос в п.4. является то, что 1С НЕ пропустит неподписанню платежку в Банк, то есть ли иной способ заполнения файла настроек на стороне Банка так, чтобы разрешить Клиенту 1С отправлять в Банк и подписанные и неподписанные документы?

SevDmitry commented 4 years ago
  1. Правильно
  2. Допускается отправлять неподписанными любые документы.
  3. Все правильно. Сертификат может понадобиться для аутентификации.
  4. Пользователю доступно только изменение правил подписания. Поэтому пользователь может изменить сертификат, но отменить подписание нет.
  5. Такой возможности нет.
naty-stolayrova commented 4 years ago

Спасибо за консультацию!

naty-stolayrova commented 4 years ago

Добрый день! Возникло еще несколько вопросов по правилам подписания документа:

  1. По ответу https://github.com/1C-Company/DirectBank/issues/4#issuecomment-477066646:
    Всегда ли неплатежные документы подписываются не более, чем одной подписью? Если в файле настроек будет указано более сложное правило (например, потребуется три подписи), система 1С потребует подписания документа от трех пользователей? Или же система 1С проигнорирует RuleSignatures для таких документов и наложит на данные документа только один сертификат?

  2. Всегда ли для неплатежных документов требуется хотя бы одна подпись? В частности интересуют документы:

    • Запрос об отзыве
    • Запрос о состоянии электронного документа
    • Запрос-зонд
    • Запрос выписки банка Могут ли вышеуказанные документы вообще не подписываться на стороне 1С? Или даже когда в теге RuleSignatures для таких документов будет отсутствовать правило подписания, система 1С автоматически наложит на данные документа сертификат пользователя, выполняющего операцию?
  3. По ответу https://github.com/1C-Company/DirectBank/issues/4#issuecomment-477461759: Группы подписантов GroupSignatures указываются в файле настроек для всех документов, а правило подписания RuleSignatures указывается индивидуально для каждого документа. Предположим, для платежного поручения требуется три подписи. В том случае RuleSignatures = 111, а тег GroupSignatures содержит три группы подписантов. Если для неплатежного документа потребуется подпись пользователя, от чьего имени выполняется операция, то как должно выглядеть правило подписания RuleSignatures для этого документа:

    • RuleSignatures = (0) - всегда только один ноль ?
    • RuleSignatures = (000) - количество нулей совпадает с количеством групп подписантов (в примере - три группы)?
  4. Как с использованием RuleSignatures и GroupSignatures передать правило "требуется три подписи, и вторая из них - это подпись любого сотрудника организации?" В одной группе подписантов GroupSignatures можно передать только 9 сертификатов. Как быть, если в организации больше 9 сотрудников?

  5. В одной группе подписантов GroupSignatures можно передать только 9 сертификатов. Предположим, что в организации 10 сотрудников. Сотрудник №10 отправляет в банк неплатежный документ, и система 1С пытается наложить сертификат этого сотрудника на данные документа. Но так как в файле настроек, в одной группе, можно передать только 9 сертификатов, сертификат сотрудника №10 не был передан в 1С. Возможна ли такая ситуация? Если да, то как 1С ее обработает?

SevDmitry commented 4 years ago
  1. Для неплатежных документов правило подписания будет проигнорировано
  2. На усмотрение банка. Если в файле настроек не будет RuleSignatures, то будет отправляться запрос не подписанным.
  3. Правило (0) означает установить все подписи. Правильнее было бы передать (100)||(010)||(001). Но есть недокументированная возможность - если передать пустое правило, то будет установлен маршрут Одной доступной подписью.
  4. Ну если такая организация найдется, то мы обязательно расширим количество подписантов в группе.
  5. Программа только сформирует электронный документ. При попытке подписание будет выведено сообщение, что требуется подпись другого пользователя.