| ||||
| ||||
Что это такое: Ошибка: Нехватка памяти для ASN1. (0x80093106) И как с этим бороться Возникает при попытке подписать файл из командной строки. | ||||
Ответы: | ||||
| ||||
cryptcp при подписании файла действует следующим образом: считывает все содержимое файла в память, считает хеш, подписывает и выдает результат. Поэтому такая ошибка может означать, что свободной памяти компьютера (физическая + swap) недостаточно для проведения этих операций, например, если подписываемый файл очень большой. | ||||
| ||||
Если я шифрую из крипто-арм, то все получается, ошибка возникает только с командной строкой | ||||
| ||||
КриптоАРМ, скорее всего, использует другой механизм при подписании сообщения, поэтому проблем с памятью у него не возникает. Описанный алгоритм действий характерен именно для cryptcp, и, возможно, будет исправлен, но точно не в ближайшее время. | ||||
| ||||
Понятно. А не подскажете какие параметры нужно установить что бы подпись созданная из командной строки была аналагична подписи созданной из АРМа со следующими параметрами (привожу дословно): "PKCS#7 Signature в DER-кодировке(.p7s)"; -> "Сохранять подпись в отдельном файле"; "Включить время создания подписи" -> выбрал сертификат, нажал готово? | ||||
| ||||
cryptcp умеет сохранять подписи в отдельных файлах с расширением .sgn (команда -signf), КриптоАРМ с такими подписями работать не умеет. То есть полной аналогии не получится. | ||||
| ||||
У меня начальство спрашивает, за что мы платили деньги, если этим приложением невозможно пользоваться :) | ||||
| ||||
Вопрос риторический :) Используйте тестовые версии перед покупкой лицензионных :) cryptcp удобна, например, для подписания/шифрования большого количества небольших файлов, поскольку позволяет автоматизировать этот процесс. Если на принимающей стороне тоже стоит cryptcp, то проблем с совместимостью форматов данных не возникнет. | ||||
| ||||
Алексей. Постараюсь внести некоторую ясность. КриптоАРМ и cryptcp поддерживают одни и теже форматы, т.е. форматы подписанных и зашифрованных сообщений PKCS#7 и между собой эти приложения совместимы, за исключением 2-х условий: 1. В КриптоАРМ опционально введен формат сообщения в кодировке Base64 с заголовком (для чего-то разработчикам это потребовалось), cryptcp это не поддерживает; 2. Отличаются имена расширений результирующих файлов. Решение первого - в системе не использовать Base64 c заголовками (в КриптоАРМ это установить одну галку и сохранить в профиле), Решение второго - широкий механизм примения bat-файлов (думаю, вряд-ли вы будете заставлять пользоватлей каждый раз вводить параеметры cryptcp, а просто дадите ему bat-файл). И еще: криптографические сообщения (с ЭЦП), формируемые рассматриваемыми приложениями, полностью совместимы с компонентом ПАК КриптоПро УЦ - АРМ разбора конфликтных ситуаций, который используется для проведения экспертных работ по подтверждению подлинности ЭЦП. | ||||
| ||||
Отлично, тогда подскажите, какие параметры мне задать, чот бы получить файл подписанный, как описано выше. Я задаю следующую командную строку: cryptocp -signf -dn "<Название>" -der. Файлы получаються разные | ||||
| ||||
Например, вот такой bat-файл: cryptcp -signf -dn "Furakov Alexandr" a.txt -cert copy a.txt.sgn a.txt.pem del a.txt.sgn В общем случае переименовывать не обязательно - подпись успешно проверяется КриптоАРМом, если выполнять оперции из трея этого приложения (замок в правом нижнем углу), а если еще использовать параметры bat-файла (%1), то совсем все красиво получится. | ||||