| ||||
| ||||
Добрый всем день! Народ, интересует мнение/опыт подписания документа(текста) 2-я и более подписями, не подписывать же подписанное? Как вообще в обычной практике поступают? Для подписи документа использую CAPICOM. С Уважением, VVA | ||||
Ответы: | ||||
| ||||
Подписывать подписанное - это обыкновенная практика - подпись сторонами Договора, Согласование одного и того же докуменета и т.д. | ||||
| ||||
Я прекрасно понимаю что юридически так и должно быть, т.е. как в жизни. Но вот технически это выглядит как то коряво. Подписанный документ у меня на выходе получается SMIME - неужели его ж подписывать повторно (если требуется 2 подписи). Это же какая избыточность получается... Или у меня не верный подход? (я подписываю WEB форму...) С уважением, VVA | ||||
| ||||
подписанные данные получаются в формате PKCS#7. Если хотите, то используйте их при создании почтового сообщения S/MIME. Но если в веб-приложении, то причем тут S/MIME?! Там обычные строковые переменные. Переде строку и подписываете. А передавать между клиентом и сервером можно через скрытые переменные. | ||||
| ||||
Может мы говорим о разном? подписанные данные формате PKCS#7 - это бинарные данные, их imho нельзя передавать из формы... >Но если в веб-приложении, то причем тут S/MIME?! Я использую для кодирования дкумента ф-ю: CAPICOM: Utilities.Base64Encode ...для того, чтобы подготовить его к передаче >Там обычные строковые переменные. Не видел я там _обычных_ строковых переменных... >А передавать между клиентом и сервером можно через скрытые переменные. Так и поступаю, через скрытые поля на форме... | ||||
| ||||
CAPICOM SignedData.Sign выдает на выходе либо бинарную строку, либо base64, так что имхо вызов Base64Encode тут лишний. Добавить подпись можно, посмотрите метод SignedData.CoSign. | ||||
| ||||
Большое спасибо тебе Кирил, это именно то что я искал! :-) | ||||
| ||||
А как сделать то же самое (подписать ещё одной подписью), но не используя CAPICOM, а средствами CryptoAPI? | ||||
| ||||
http://www.cryptopro.ru/cryptopro/forum/view.asp?q=779 | ||||
| ||||
Можно использовать и КриптоАРМ - он позволяет подписывать как одноранговыми подписями ("согласование"), так и заверяющей подписью. В целом, получается аналог прохождения обычного бумажного документа по инстанциям. | ||||