|
klvking |
|
|
Статус: Участник Группы: Участники
|
При чтении сертификата из контейнера Рутокен-Магистра появляется ошибка «Неправильный параметр набора ключей» в последней строчке кода: Цитата: CspParameters csp = new CspParameters(); Если вытаскивать сертификат с eToken’а, то все нормально. Отличие в сертификатах: на Магистре просроченный сертификат, на eToken’е действующий. Отредактировано пользователем 15 апреля 2011 г. 20:42:52(UTC) |
![]() |
|
|
Челпанов А. |
|
|
Статус: Активный участник Группы: Участники Поблагодарили: 2 раз в 2 постах |
Извините за задержку с ответом, был в отпуске. |
|
С уважением, Александр. |
|
![]() |
WWW |
|
klvking |
|
|
Статус: Участник Группы: Участники
|
Пробовал следующее: Цитата: CspParameters csp = new CspParameters(); Видимо причина не в этом. Попробовал на этом же ключе (Рутокен-Магистра) сгенерить тестовые ключи (http://www.cryptopro.ru/certsrv/) и записать сертификат — вышеуказанным кодом сертификат из контейнера считывается… Вроде все отличия… |
![]() |
|
|
Челпанов А. |
|
|
Статус: Активный участник Группы: Участники Поблагодарили: 2 раз в 2 постах |
CSP сертификат да же не разбирает, .Net Framework разбирает, но не проверяет. Проблема не в содержимом сертификатов. |
|
С уважением, Александр. |
|
![]() |
WWW |
|
klvking |
|
|
Статус: Участник Группы: Участники
|
в CryptoPro.Sharpei.CPUtils.CreateProvHandle(CspParameters parameters, Boolean randomKeyContainer) |
![]() |
|
|
Челпанов А. |
|
|
Статус: Активный участник Группы: Участники Поблагодарили: 2 раз в 2 постах |
1. Эксперименты с Магистра и etoken проводите на одном компьютере? |
|
С уважением, Александр. |
|
![]() |
WWW |
|
klvking |
|
|
Статус: Участник Группы: Участники
|
1. тестировал ПО на 2-х ПК. Попробовать установить 3.6? Просто на АРМах, на которых надо будет использовать ПО, стоит Крипто Про 3.0 (лицензия), поэтому хотелось бы в рамках 3.0 добить… |
![]() |
|
|
Челпанов А. |
|
|
Статус: Активный участник Группы: Участники Поблагодарили: 2 раз в 2 постах |
Цитата: 1. тестировал ПО на 2-х ПК. Скорее всего проблема именно в различиях установки CSP или Sharpei. |
|
С уважением, Александр. |
|
![]() |
WWW |
|
klvking |
|
|
Статус: Участник Группы: Участники
|
osinfo.xml отправил. Цитата: CryptoPro.Sharpei.Start.dll not loaded. Error code:126 (0x7e):Не найден указанный модуль |
![]() |
|
|
Челпанов А. |
|
|
Статус: Активный участник Группы: Участники Поблагодарили: 2 раз в 2 постах |
Цитата: CryptoPro.Sharpei.Start.dll not loaded. Error code:126 (0x7e):Не найден указанный модуль Это не ошибка, если есть одна из строчек Цитата: module name=»CryptoPro.Sharpei.Start20.dll» |
|
С уважением, Александр. |
|
![]() |
WWW |
| Пользователи, просматривающие эту тему |
|
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.

Из нашей статьи вы узнаете:
После установки драйверов и во время использования цифровой подписи потенциально могут возникнуть ошибки. Причины часто кроются в программных ошибках, неправильных действиях пользователя. На практике большинство проблем можно решить самостоятельно, без обращения за помощью в удостоверяющий центр или к специалистам по обслуживанию компьютерной техники. Рассмотрим основные ошибки, с которыми приходится сталкиваться пользователям и которые реально решить своими силами.
Ошибка: Сертификат ненадежен/Не удалось проверить статус отзыва
Ошибку можно заметить на вкладке «Сертификаты» непосредственно в панели управления Рутокен. Проблема возникает во время установки ЭЦП и связана с неполной настройкой. Речь про отсутствие специального корневого доверенного сертификата, который выдает удостоверяющий центр.
Первым шагом к устранению ошибки остается обновление комплекта драйверов. Если проблема не исчезла или последние у вас имеют актуальную версию, выполните действия по следующему алгоритму:
- выберите ваш сертификат в панели управления;
- нажмите кнопку «Свойства»;
- выберите вкладку «Путь сертификации».
Если в открывшемся дереве вы видите лишь ваш личный сертификат, то надо установить еще один, который был выдан в удостоверяющем центре, и сделать доверенным.
Ошибка: Rutoken перестает определяться (Windows 10)
Потенциально могут возникать периодические ошибки из-за недоступности сертификатов, невозможности запустить панель управления. Одновременно светодиод на токене горит, а сам Рутокен имеется в Диспетчере устройств. Подобная ситуация может быть связана со спецификой работы материнской платы компьютера, когда при переходе из энергосберегающего режима в штатный не происходит «пробуждения» токена. Выходом здесь станет его отключение либо повторное подключение Рутокена (для этого достаточно достать USB-токен из разъема и подключить опять).
В случае если ошибка не исчезла, обратитесь за консультацией в удостоверяющий центр, где вы оформили ЭЦП и приобрели Рутокен.
Ошибка: Рутокен плагин недоступен
Если у вас появляется ошибка «Плагин недоступен» при входе в личный кабинет сервиса Честный Знак, то это значит, что на компьютере не установлены криптографический плагин Рутокен Плагин или КриптоПро ЭЦП Browser plug-in.
Чтобы исправить данную ошибку вы можете воспользоваться нашей инструкцией по установке плагина RuToken.
Ошибка: Панель управления не видит Рутокен ЭЦП 2.0
Для решения проблемы выполните следующие действия:
- подключите токен к другому USB-разъему или компьютеру для оценки работоспособности;
- определите наличие устройства через «Диспетчер устройств» в разделе «Контроллеры USB»;
- проконтролируйте наличие доступа к веткам реестра
- HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalais и
- HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyCalaisReaders у текущего пользователя и Local Service (если необходимо, то добавьте), также убедитесь, что Служба «Смарт-карта» запущена от имени NT AUTHORITYLocalService («Пуск» — «Панель управления» — «Администрирование» — «Службы»).;
- проверьте количество считывателей в настройках панели управления (должно быть значение 1);
- переустановите комплект драйверов для исключения сбоя программного обеспечения.
Если ничего не помогло и ошибка осталась, обращайтесь в удостоверяющий центр «Астрал». Мы предлагаем услуги по генерации ЭЦП любых типов на выгодных условиях, а также комплексное техническое сопровождение. Для решения проблем мы готовы проконсультировать по телефону либо найти выход с помощью удаленного подключения к вашему компьютеру. Получить дополнительную информацию можно по телефону либо оставив заявку на сайте. Мы оперативно ответим и предоставим консультацию.
Я читаю файл PDF, используя iTextSharp.text.pdf.
Но, как вы можете видеть в приведенном ниже коде, когда я пытаюсь прочитать первую страницу PDF-файла, он дает мне сообщение об ошибке: «Индекс находился вне границ массива.»
Но когда я читаю вторую или третью страницу, он не выдает сообщения об ошибке.
Ниже приведен код, который я использую для чтения файла PDF.
StringBuilder pdfContent = new StringBuilder();
PdfReader pdfReader = new PdfReader(pdfFilePath);
int pageCount = pdfReader.NumberOfPages;
for (int i = 1; i <= pageCount; i++)
{
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
string text = PdfTextExtractor.GetTextFromPage(pdfReader, i, strategy);
if (!string.IsNullOrWhiteSpace(text))
{
pdfContent.Append(Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(text))));
}
if (parser != null)
{
parser.ProcessContent(i, imageRenderListener);
}
}
pdfReader.Close();
return pdfContent.ToString();
Может кто-нибудь мне помочь
Ошибка лежит в этих двух строчках(полный код представлен ниже)
exptab[i]:= (45 * exptab[i-1]) mod 257;
logtab[exptab[i]]:= i;
Я так понимаю, что pascalabc представляет как exptab[i] будет равен 256 и заранее выдает ошибку.Онлайн компиляторы ошибку не видят и программа работает правильно. Сами условия изменить не смогу, так как программа кодирует определенный шифр с определенными условиями. Объясните что может быть не так, потому что я не смогу показать работу программы без запуска pascalabc(если окажется, что это проблема компилятора, то попробую договориться с преподавателем).
program SAFERK64;
VAR a1, a2, a3, a4, a5, a6, a7, a8, b1, b2, b3, b4, b5, b6, b7, b8, r: byte;
k: ARRAY[1..21,1..8] OF byte; k1: ARRAY[1..8] OF byte;
logtab, exptab: ARRAY[0..255] OF integer; i, j, flag: integer;
PROCEDURE mat1(VAR a1, a2, b1, b2: byte);
BEGIN b2:= a1 + a2; b1:= b2 + a1; END;
PROCEDURE invmat1(VAR a1, a2, b1, b2: byte);
BEGIN b1:= a1 - a2; b2:= -b1 + a2; END;
BEGIN
logtab[1]:= 0; exptab[0]:= 1;
FOR i:= 1 TO 255 DO
BEGIN
exptab[i]:= (45 * exptab[i-1]) mod 257;
logtab[exptab[i]]:= i;
END;
exptab[128]:= 0; logtab[0]:= 128; exptab[0]:= 1;
flag:= 0; writeln;
writeln('Введите число раундов r (max 10)'); readln(r);
writeln; writeln('Введите исходный текст из 8 байт с пробелами между ними');
REPEAT
BEGIN
writeln('(Значение байта от 0 до 255)');
readln(a1, a2, a3, a4, a5, a6, a7, a8);
writeln('Введите ключ из 8 байт');
readln(k[1,1],k[1,2],k[1,3],k[1,4],k[1,5],k[1,6],k[1,7],k[1,8]);
k1 [1]:= k[1,1]; k1[2]:= k[1,2]; k1[3]:= k[1,3]; k1[4]:= k[1,4];
k1 [5]:= k[1,5]; k1[6]:= k[1,6]; k1[7]:= k[1,7]; k1[8]:= k[1,8];
writeln('ИСХОДНЫЙ ТЕКСТ ', a1:8,a2:4,a3:4,a4:4,a5:4,a6:4,a7:4,a8:4);
writeln('КЛЮЧ ', k[1,1]:8,k[1,2]:4,k[1,3]:4,k[1,4]:4,
k[ 1,5]:4,k[ 1,6]:4,k[ 1,7] :4,k[ 1,8] :4);
FOR i:= 2 TO 2*r + 1 DO
FOR j:= 1 TO 8 DO
BEGIN
k1[j]:= (k1[j] shl 3) + (k1[j] shr 5);
k[i,j]:= k1[j] + exptab[exptab[9*i+j]];
END;
FOR i:= 1 TO r DO
BEGIN
a1:= a1 xor k[2*i-1,1]; a2:= a2 + k[2*i-1,2];
a3:= a3 + k[2*i-1,3]; a4:= a4 xor k[2*i-1,4];
a5:= a5 xor k[2*i-1,5]; a6:= a6 + k[2*i-1,6];
a7:= a7 + k[2*i-1,7]; a8:= a8 xor k[2*i-1,8];
b1:= exptab[a1]; b2:= logtab[a2]; b3:= logtab[a3]; b4:= exptab[a4];
b5:=exptab[a5]; b6:= logtab[a6]; b7:= logtab[a7]; b8:= exptab[a8];
b1:= b1 + k[2*i,1]; b2:= b2 xor k[2*i,2];
b3:= b3 xor k[2*i,3]; b4:= b4 + k[2*i,4];
b5:= b5 + k[2*i,5]; b6:= b6 xor k[2*i,6];
b7:= b7 xor k[2*i,7]; b8:= b8 + k[2*i,8];
mat1(b1, b2, a1, a2); mat1(b3, b4, a3, a4);
mat1(b5, b6, a5, a6); mat1(b7, b8, a7, a8);
mat1(a1, a3, b1, b2); mat1(a5, a7, b3, b4);
mat1(a2, a4, b5, b6); mat1(a6, a8, b7, b8);
mat1(b1, b3, a1, a2); mat1(b5, b7, a3, a4);
mat1(b2, b4, a5, a6); mat1(b6, b8, a7, a8);
writeln('После раунда',i:2,a1:8,a2:4,a3:4,a4:4,a5:4,a6:4,a7:4,a8:4);
END;
a1:= a1 xor k[2*r+1,1]; a2:= a2 + k[2*r+1,2];
a3:= a3 + k[2*r+1,3]; a4:= a4 xor k[2*r+1,4];
a5:= a5 xor k[2*r+1,5]; a6:= a6 + k[2*r+1,6];
a7:= a7 + k[2*r+1,7]; a8:= a8 xor k[2*r+1,8];
writeln('КРИПТОГРАММА',a1:8,a2:4,a3:4,a4:4,a5:4,a6:4,a7:4,a8:4); writeln;
writeln('Напечатайте 0 чтобы продолжить и -1 чтобы завершить'); read(flag);
END
UNTIL flag < 0;
END.

