e217onr |
|
Статус: Участник Группы: Участники
|
Пытаюсь реализовать функционал проверки подписи. В консоли постоянно возникает ошибка: |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Здравствуйте. Можете приложить или прислать в ЛС файл подписи и документ, который подписывали? Ошибка возникает только с этим файлом? Ошибка возникает со всеми файлами, поэтому не думаю что прикрепление файлов даст результат. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
По примерам из документации делаете примеры? |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Пробовали подписать и проверить результат сразу? |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев По примерам из документации делаете примеры? Примеры из документации не работают, т.к. там представлен код для синхронных запросов, а у меня используются асинхронные. При попытке использовать код из документации, получаю разные ошибки типа «CreateObject is not a function» и тд. Автор: Андрей Писарев Пробовали подписать и проверить результат сразу? Только что попробовал проверить подпись сразу после создания, получаю ту же ошибку, но с requestId = 44. Код:
где sSignedMessage — контент кодируемого документа в формате base64, а dataToVerify — готовая подпись этого контента. |
|
|
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей Писарев |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … |
Техническую поддержку оказываем тут |
|
|
WWW |
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Цитата из примера: Цитата: Приведенный пример использует синхронную версию плагина. Также см. пример работы с асинхронными обьектами. Создание подписи CADES_BES с использованием асинхронной версии Здесь пример создания подписи. Создание у меня работает. Нужна проверка. |
|
|
e217onr |
|
Статус: Участник Группы: Участники
|
Автор: Андрей Писарев Также можно посмотреть работу на демо-странице и посмотреть функции из js-файлов. Code.js cadesplugin_api.js … Собственно так и работает моя подпись файлов. Я взял эти 2 файла js-скриптов, закинул их в свой проект и настроил работу подписи исходя из этих файлов. Подпись работает великолепно, не работает именно ПРОВЕРКА подписи. Насчёт проверки очень мало написано в документации. Насчёт проверки асинхронными методами — вообще ни слова. Как мне в итоге проверить мою подпись? |
|
|
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Форум КриптоПро
»
Средства криптографической защиты информации
»
Другие продукты
»
Встречено неверное значение тега ASN1 при формировании запроса с помощью cryptcp
jobstos |
|
Статус: Новичок Группы: Участники
|
Формирую запрос на сертификат с расширениями с помощью команды cryptcp -creatrqst -ext <расширение>. Аргументом -ext является путь к файлу с расширением. В документации сказано, что файл может быть как в DER, так и в BASE64. С DER все работает как положено, но с файлом в BASE64 получаю ошибку: Код:
idkind.txt (1kb) загружен 1 раз(а). idKindBase64.txt (1kb) загружен 3 раз(а). Файлы с расширениями приложил. Файл BASE64 получаю обычной конертацией в данную кодировку |
|
|
Андрей Русев |
|
Статус: Сотрудник Группы: Администраторы, Участники Сказал(а) «Спасибо»: 12 раз |
BASE64 на самом деле никогда не поддерживался, в документации ошибка. А вам нужна поддержка именно BASE64 для файлов с расширениями? |
Официальная техподдержка. Официальная база знаний. |
|
|
|
jobstos |
|
Статус: Новичок Группы: Участники
|
Да, хотелось использовать base64, необходимо, чтобы пользователь с помощью утилиты cryptcp генерировал запрос. Хотел предварительно дать команду на запись BASE64 в файл, чтобы пользователь мог не хранить и следовательно не ошибаться при прописывании путей до расширений |
|
|
Андрей Русев |
|
Статус: Сотрудник Группы: Администраторы, Участники Сказал(а) «Спасибо»: 12 раз |
Так ведь в BASE64 тоже файл, так что задача «не ошибаться при прописывании путей до расширений» не будет решена. |
Официальная техподдержка. Официальная база знаний. |
|
|
|
jobstos |
|
Статус: Новичок Группы: Участники
|
Да, файл. Только base64 можно предварительно записать в файл, который затем будет использоваться в следующей команде |
|
|
Пользователи, просматривающие эту тему |
Guest |
Форум КриптоПро
»
Средства криптографической защиты информации
»
Другие продукты
»
Встречено неверное значение тега ASN1 при формировании запроса с помощью cryptcp
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
What am I doing wrong here? I keep getting error 0x8009310b (ASN1 bad tag value met) when creating a certificate context. I know the certificate I’m testing with is good. I exported it from the intermediate store using DER, Base-64 and P7B formats. All three scenarios fail.
int _tmain(int argc, _TCHAR* argv[])
{
const int MAX_CERT_FILE_SIZE=81920;
HANDLE certFileHandle;
DWORD certEncodedRead = 0L;
BYTE certData[MAX_CERT_FILE_SIZE] = {0};
PCCERT_CONTEXT pCertContext = NULL;
HCERTSTORE hSystemStore = NULL;
int exitCode = 0;
fprintf(stdout, "Importing X509 certificate file to root store: %s nn", argv[0]);
try {
// Create a handle to the certificate given in the command line argument
BeginTask("Creating certificate handle...");
certFileHandle = CreateFile(argv[0],
GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (INVALID_HANDLE_VALUE == certFileHandle){
throw "Could not create a handle to the specified certificate file.";
}
// Read the certificate file
NextTask("Reading certificate file into buffer...");
memset(certData, 0, MAX_CERT_FILE_SIZE);
BOOL result = ReadFile(certFileHandle,
certData,
MAX_CERT_FILE_SIZE,
&certEncodedRead,
NULL);
fprintf(stdout, "Read %d bytes from certificate file...", certEncodedRead);
if (!result) {
throw "Could not read the certificate file.";
}
// Create a certificate context from the buffer
NextTask("Creating certificate context...");
pCertContext = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, certData, certEncodedRead);
if (!pCertContext){
throw "Could not create a certificate context.";
}
// Open the system certificate store
NextTask("Opening local machine certificate store...");
hSystemStore = CertOpenSystemStore(NULL, L"CA");
if (!hSystemStore){
throw "Could not open the local machine certificate store.";
}
// Add certificate context to store
NextTask("Adding certificate context to store...");
//CertAddCertificateContextToStore(hSystemStore,
// pCertContext,
// CERT_STORE_ADD_REPLACE_EXISTING,
// NULL);
} catch (ERRMSG msg) {
Result(false);
HandleError(msg);
exitCode = 1;
}
// Clean-up all resources
if (hSystemStore) {
NextTask("Closing certificate store...");
Result(CertCloseStore(hSystemStore, 0));
}
if (pCertContext) {
NextTask("Freeing certificate store...");
Result(CertFreeCertificateContext(pCertContext));
}
if (certFileHandle) {
NextTask("Closing certificate file...");
Result(CloseHandle(certFileHandle));
}
fprintf(stdout, "nnProgram complete-exiting with code %x", exitCode);
return exitCode;
}
[Edited to add console output]
Importing X509 certificate file to root store: DOD-CA-12.cer
Creating certificate handle...Success.
Reading certificate file into buffer...Read 41472 bytes from certificate file...Success.
Creating certificate context...Failed.
An error occurred while importing the X509 certificate.
Narrative: Could not create a certificate context.
GetLastError reported: 8009310b.
Success.
Closing certificate file...Success.
Program complete-exiting with code 1
К.Лихачёв |
|
Статус: Новичок Группы: Участники
|
Я новичок в данной теме! Мне нужно создать открепленную подпись XML документа в формате XMLDSIG Пытаюсь создать ЭЦП используя пример https://docs.cryptopro.r…/plugin-samples-sign-xml Но потом при проверке другими средствами, например https://www.justsign.me/verifyqca/Verify/ выдается ошибка: Причем не важно что я подписываю sContent из примера или реальный документ. Подскажите: что я делаю не так? |
|
|
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Здравствуйте. Без примера -не понятно. В любом случае, есть демо-страница, проверяли? Snimok ehkrana ot 2023-01-17 17-26-15.png (13kb) загружен 3 раз(а). |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Автор: К.Лихачёв выдается ошибка: Причем не важно что я подписываю sContent из примера или реальный документ. Подскажите: что я делаю не так? вероятно, указан не тот тип подписи при проверке? Цитата: Подпись XML документов (XML Digital Signature) — правильно |
Техническую поддержку оказываем тут |
|
|
WWW |
К.Лихачёв |
|
Статус: Новичок Группы: Участники
|
Автор: Андрей * Здравствуйте. Без примера -не понятно. В любом случае, есть демо-страница, проверяли? Snimok ehkrana ot 2023-01-17 17-26-15.png (13kb) загружен 3 раз(а). Код:
Код почти без изменений из примера. Вот результат подписи var dataToSign = PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSAKIE9y |
|
|
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
результат подписи — в base64, необходимо перед отправкой в сервис проверки — декодировать, получить XMDSIG файл, |
Техническую поддержку оказываем тут |
|
|
WWW |
К.Лихачёв |
|
Статус: Новичок Группы: Участники
|
Автор: Андрей * Автор: К.Лихачёв выдается ошибка: Причем не важно что я подписываю sContent из примера или реальный документ. Подскажите: что я делаю не так? вероятно, указан не тот тип подписи при проверке? Цитата: Подпись XML документов (XML Digital Signature) — правильно При проверке https://www.justsign.me/verifyqca/Verify/ не указывается тип подписи. Что такое подпись CMS? Где это указано неправильно? |
|
|
К.Лихачёв |
|
Статус: Новичок Группы: Участники
|
Автор: Андрей * результат подписи — в base64, необходимо перед отправкой в сервис проверки — декодировать, получить XMDSIG файл, Декодировал. Результат не изменился! <?xml version=»1.0″ encoding=»UTF-8″?> <Signature xmlns=»http://www.w3.org/2000/09/xmldsig#» Id=»Signature1-ac8976914-edd0-c57a-3288-cf79de59076″> |
|
|
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
как не изменился? Почему у меня показывает, что подпись корректна математически? Snimok ehkrana ot 2023-01-17 18-28-52.png (26kb) загружен 6 раз(а). |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
Автор: К.Лихачёв При проверке https://www.justsign.me/verifyqca/Verify/ не указывается тип подписи. Что такое подпись CMS? Где это указано неправильно? Snimok ehkrana ot 2023-01-17 18-33-31.png (48kb) загружен 2 раз(а). Выше текстовая строка с xml — не содержит нескольких пробелов, которые есть в результате от плагина (если декодировать из base64) и сравнить. |
Техническую поддержку оказываем тут |
|
|
WWW |
Андрей * |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 457 раз |
декодированные данные из сообщения #4 в файле: успешно проверяется. Доверия к тестовому корневому нет на стороне сервиса. |
Техническую поддержку оказываем тут |
|
|
WWW |
Пользователи, просматривающие эту тему |
Guest |
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Windows Server 2008, редакция web, service pack 2
На последней стадии установки ssl-сертификата, через «запрос установки сертификата…» получаю ошибку:
CertEnroll::CX509Enrollment::p_InstallResponse: Встречено неверное значение тега ASN1. 0x8009310b
(ASN: 267)
С чем это может быть связано? До этого на сервере уже устанавливались два других сертификата, в обоих случаях успешно, порядок установки не менялся.