15.09.2006 13:50:42Что это такое: Ошибка: Нехватка памяти для ASN1. ? Ответов: 10
Пономарев Алексей
Что это такое:
Ошибка: Нехватка памяти для ASN1.
(0x80093106)
И как с этим бороться
Возникает при попытке подписать файл из командной строки.
 
Ответы:
15.09.2006 15:21:30Tatianka
cryptcp при подписании файла действует следующим образом:
считывает все содержимое файла в память, считает хеш, подписывает и выдает результат.
Поэтому такая ошибка может означать, что свободной памяти компьютера (физическая + swap) недостаточно для проведения этих операций, например, если подписываемый файл очень большой.
15.09.2006 15:27:06Пономарев Алексей
Если я шифрую из крипто-арм, то все получается, ошибка возникает только с командной строкой
15.09.2006 15:59:59Tatianka
КриптоАРМ, скорее всего, использует другой механизм при подписании сообщения, поэтому проблем с памятью у него не возникает.
Описанный алгоритм действий характерен именно для cryptcp, и, возможно, будет исправлен, но точно не в ближайшее время.
15.09.2006 16:09:01Пономарев Алексей
Понятно. А не подскажете какие параметры нужно установить что бы подпись созданная из командной строки была аналагична подписи созданной из АРМа со следующими параметрами (привожу дословно): "PKCS#7 Signature в DER-кодировке(.p7s)"; -> "Сохранять подпись в отдельном файле"; "Включить время создания подписи" -> выбрал сертификат, нажал готово?
15.09.2006 16:25:01Tatianka
cryptcp умеет сохранять подписи в отдельных файлах с расширением .sgn (команда -signf), КриптоАРМ с такими подписями работать не умеет.
То есть полной аналогии не получится.
15.09.2006 16:59:45Пономарев Алексей
У меня начальство спрашивает, за что мы платили деньги, если этим приложением невозможно пользоваться
:)
15.09.2006 17:21:02Tatianka
Вопрос риторический :) Используйте тестовые версии перед покупкой лицензионных :)

cryptcp удобна, например, для подписания/шифрования большого количества небольших файлов, поскольку позволяет автоматизировать этот процесс. Если на принимающей стороне тоже стоит cryptcp, то проблем с совместимостью форматов данных не возникнет.
15.09.2006 17:42:49fav
Алексей. Постараюсь внести некоторую ясность. КриптоАРМ и cryptcp поддерживают одни и теже форматы, т.е. форматы подписанных и зашифрованных сообщений PKCS#7 и между собой эти приложения совместимы, за исключением 2-х условий: 1. В КриптоАРМ опционально введен формат сообщения в кодировке Base64 с заголовком (для чего-то разработчикам это потребовалось), cryptcp это не поддерживает; 2. Отличаются имена расширений результирующих файлов. Решение первого - в системе не использовать Base64 c заголовками (в КриптоАРМ это установить одну галку и сохранить в профиле), Решение второго - широкий механизм примения bat-файлов (думаю, вряд-ли вы будете заставлять пользоватлей каждый раз вводить параеметры cryptcp, а просто дадите ему bat-файл). И еще: криптографические сообщения (с ЭЦП), формируемые рассматриваемыми приложениями, полностью совместимы с компонентом ПАК КриптоПро УЦ - АРМ разбора конфликтных ситуаций, который используется для проведения экспертных работ по подтверждению подлинности ЭЦП.
15.09.2006 17:58:12Пономарев Алексей
Отлично, тогда подскажите, какие параметры мне задать, чот бы получить файл подписанный, как описано выше. Я задаю следующую командную строку: cryptocp -signf -dn "<Название>" -der. Файлы получаються разные
18.09.2006 10:15:12fav
Например, вот такой bat-файл:
cryptcp -signf -dn "Furakov Alexandr" a.txt -cert
copy a.txt.sgn a.txt.pem
del a.txt.sgn
В общем случае переименовывать не обязательно - подпись успешно проверяется КриптоАРМом, если выполнять оперции из трея этого приложения (замок в правом нижнем углу), а если еще использовать параметры bat-файла (%1), то совсем все красиво получится.