Автор: MERCY Мне вот интересно - почему проектная группа ЦРПТ не могла полностью предоставить готовый клиентско-серверный софт и готовые высокоуровневые API с назначением по аналогии с JCP и JSCP...
А то сдаётся мне - ребята даже не попробовали отправить ЭЦП...
Но серьезно, не понимаете почему? На сайте ЦРПТ скромная ссылочка на компанию, которая "под операционным управлением ЦРПТ" ...переходим по ссылочке... поставляет оборудование для маркировки и
предлагает интеграцию? Тут даже не надо искать намеки, честно пишут открытым текстом.
И так в большинстве отечественных ГИС, одна компания пилит серверную часть, полстраны мучается как сделать клиентскую часть. И чтобы разработчики клиентской части не скучали, серверную часть регулярно меняют. А если заказать в той же компании что делает серверную часть, то изменения будут синхронными. Скорее всего, когда пройдете этап реализации подписи поймете, что это была самая легкая часть.
В итоге наверно будет проще заморочиться сборкой подписи вручную, в точности как Вам нужно (в отдельной утилите собственного сочинения) и обращаться к низкоуровневым функциям CryptoAPI для получения "голой подписи". Потому что Вам и похоже так и так придется вникать в тонкости сборки подписи. Другой вариант - обращаться к высокуровневым функциям CryptoAPI, не вникая в сборку, там гибкости будет меньше, но возможно найдется вариант с включением всей цепочки. Если при этом получится более гибкая утилита чем cryptcp, то наверно многие Вам спасибо скажут.
Автор: MERCY Сдаётся мне что мы имеем ситуацию когда серверный софт и API компании Крипто-ПРО на сайте ЦРПТ не хочет принимать сгенерированные софтом и API компании же Крипто-ПРО ЭЦП клиентским софтом подписи в силу различия алгоритмов работы софта на генерацию ЭЦП и на её верификацию (в случае отправки ЭЦП генерируетс с личным сертификатом, в случае верификации ЭЦП проверяется с полной цепочкой).
Ну в принципе КриптоПро предоставляет базовые криптографические функции. Всё. Допиливает до рабочего состояния, выставляет параметры кто-то другой. Как разработчики серверного софта воспользуются Джавой - большой вопрос, так как классы Джава в большинстве случаев не откомпилированный бинарный код, подписанный ЭЦП, без доступа к серверной части нельзя утверждать, что работает именно код написанный в КриптоПро, а не в "управляемой ЦРПТ компанией". Тем более что дальше Вы сами же говорите, что по примерам не работает и приходится допиливать.
Автор: MERCY Ребята, сделайте нормальную документацию по которой пример ... можно выполнить от начала и до конца для всех дистрибутивов... И протестируйте эту документацию несколько раз на чистом компе...
Про документацию не раз уже на форуме жаловались, да и "база знаний" устроена как-то мягко говоря странно. Даже статьи про настройку алгоритмов гост-2001, то находятся, то пропадают, утилиту настройки периодически невозможно найти. Много кода для устаревших (сертификаты которых закончились) версий, на форуме потом находятся всякие тонкие неочевидные различия. С другой стороны, понятно что если сейчас поставить задачу протестировать весь зоопарк возможных версий на предмет выполнения примера, то это займет слишком много времени.
Автор: MERCY А то приходится админам SAP, 1С и т.п. развлекаться с отладчиком кода Java...
Так-то, конечно классно!.. Много нового для себя открываем!
Ага, я тоже себя так успокаиваю. В целом, у меня впечатление, что независимых интерфейсов доступа к криптофункциям слишком много и выходит что даже у одной компании КриптоПро местами нет единого подхода, один интерфейс использует одну логику, другой интерфейс использует другую логику.
Это конечно досадно, но на то мы и программисты чтобы отказаться от "заводских блоков" и "построить своими кирпичиками" при необходимости. Гораздо хуже, что готовыми решениями практически никто не делится и не выставляет на объективную оценку ошибок - уже бы давно все недочеты и ошибки стандартных интерфейсов перекрыли и сэкономили друг другу кучу рабочего времени. Тех кто пилит ЭП по гост в куче ПО для разных ГИС наверняка больше чем сотрудников КриптоПро.
Ближе к теме, по обсуждению у меня впечатление, что если сертификатом одного УЦ подписание прошло как надо, что дело может быть в представлении самого сертификата. Возможно в сам сертификат или в certificateStore были упакованы сертификаты из всей цепочки (есть разные форматы контейнеров сертификатов, в некоторые можно включить всю цепочку) и включение сертификата захватило всю цепочку. Если так, то достаточно будет обработать другие сертификаты в такое же представление.