Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
начал ковырять скрипты js выковырял ошибку Internal error. (0x800B010E) Код:function cryptoProVerify(signature, data, signatureFormat, signatureType){
var result = new Object;
result["status"] = "ok";
result["data"] = new Array;
var oSignedData = objCreator("CAdESCOM.CadesSignedData");
var CADESCOM_BASE64_TO_BINARY = 0x01;
if (signature){
signatureType = signatureType ? true : false;
//if (data){
//В случае отделенной подписи передаем содержимое в контент
if (data && signatureType){
if (data.search("<")==-1) //см. подписывание
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = data;
}
try{
oSignedData.VerifyCades(signature, signatureFormat, signatureType);
//После проверки содержимое можно получить через контент.
//Если не совпало с тем, которое было, значит документ изменялся
if (data && !signatureType){
if (data != oSignedData.Content)
{
result["status"] = "error";
result["message"] = "Объект был изменен";
//return result;
}
}
}
//Теперь плагин умеет возвращать данные даже после ошибки при проверке
//Поэтому переносим блок catch сюда
catch (e){
result["status"] = "error";
result["message"] = GetErrorMessage(e);
-->>/*тут поймал ошибку */ alert(e);
//80091002 - Неизвестный криптографический алгоритм. Значит, что не установлен криптопро CSP или не та версия
//Дебагер показывает эту ошибку как 800B002, но она не ищется.
if (result["message"].indexOf('80091002') >= 0)
{
result["message"] = " Не установлен КриптоПро CSP 3.6 или выше!"
return result;
}
}
try{
var oSigners = oSignedData.Signers;
var CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0;
var CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1;
var CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME = 2;
for (var i = 1; i <= oSigners.Count; i++){
var oSigner = oSigners.Item(i);
var sd = "";
if (signatureFormat == 0)
{
if (oSigner.SignatureTimeStampTime != undefined) {
sd = new Date(Date.parse(oSigner.SignatureTimeStampTime));
}
}
result["data"].push({
"subject_simple_name" : oSigner.Certificate.GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME),
"issuer_simple_name" : oSigner.Certificate.GetInfo(CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME),
"subject_email_name" : oSigner.Certificate.GetInfo(CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME),
"certificate_name" : oSigner.Certificate.SubjectName,
"signature_date" : sd
});
}
}
catch (e){
result["status"] = "error";
result["message"] = GetErrorMessage(e);
}
}
else{
result["status"] = "error";
result["message"] = "ЭЦП пуста";
return result;
}
return result;
}
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
дополнительно вызвал алерты alert(signature); alert(signatureFormat); alert(signatureType); перед oSignedData.VerifyCades(signature, signatureFormat, signatureType); alert(signature); показал данные в base64, сохранял в файлы, сравнивал утилитой Meld, говорит данные идентичны alert(signatureFormat); равен 1 alert(signatureType); равен false вывод одинаковый на win и lin машинах Отредактировано пользователем 3 декабря 2012 г. 17:28:05(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
проблема актуальна.. в чем может быть дело
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
короче говорят на linux машине при проверки подписи oSignedData.VerifyCades(signature, signatureFormat, signatureType); вылетает в эксепштн с 0x800B010E
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
на линукс машине, с которой не возможно проверить подпись, и с которой же эта подпись и создавалась. еще раз напомню что данная подпись на Win машине проверяется нормально! Код:sokolov@dsokolov:~$ /opt/cprocsp/bin/amd64/certmgr -store uMy -list
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : E=info@cryptopro.ru, C=RU, O=CRYPTO-PRO, CN=Test Center CRYPTO-PRO
Subject : C=RU, S=sdsds, L=jkhjkdhsk, O=jhjskdhjk, OU=hjkh, CN=DmitriySokolov, E=sokolob@lcnsoft.ru
Serial : 0x67140300020010A23911
SHA1 Hash : 0xc0f2966e52d466517b4918a741153bff82cc098b
Not valid before: 29/11/2012 10:04:43 UTC
Not valid after : 04/10/2014 07:09:41 UTC
PrivateKey Link : Yes. Container: FLASH\\dcdbf7d0.000\A76E
=============================================================================
[ErrorCode: 0x00000000]
sokolov@dsokolov:~$ /opt/cprocsp/bin/amd64/certmgr -store uRoot -list
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : E=info@cryptopro.ru, C=RU, O=CRYPTO-PRO, CN=Test Center CRYPTO-PRO
Subject : E=info@cryptopro.ru, C=RU, O=CRYPTO-PRO, CN=Test Center CRYPTO-PRO
Serial : 0xD35FDE492D623546BA59A66A28038469
SHA1 Hash : 0x5520feffbfa3adba556c676f2852da69f6e3514d
Not valid before: 07/04/2009 12:02:15 UTC
Not valid after : 04/10/2014 07:09:41 UTC
PrivateKey Link : No
=============================================================================
[ErrorCode: 0x00000000]
sokolov@dsokolov:~$ /opt/cprocsp/bin/amd64/certmgr -store uRoot -crl -list
Certmgr 1.0 (c) "CryptoPro", 2007-2010.
program for managing certificates, CRLs and stores
=============================================================================
1-------
Issuer : E=info@cryptopro.ru, C=RU, O=CRYPTO-PRO, CN=Test Center CRYPTO-PRO
ThisUpdate: 30/11/2012 09:48:30 UTC
NextUpdate: 07/12/2012 22:08:30 UTC
=============================================================================
[ErrorCode: 0x00000000]
Отредактировано пользователем 4 декабря 2012 г. 16:57:36(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
так.. что заметил ошибка Internal error. (0x800B010E) возникает если не установлен crl ставим так Код:sudo /opt/cprocsp/bin/amd64/certmgr -store uRoot -crl -inst -f /home/sokolov/crl.crl
тогда просто ошибка Not implemented. (0x80004001)
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
где смотреть логи криптопро в убунту? в секции [debug] в config64.ini поставил везде 75, нигде ничего нету
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
логи нашел.. Код: tail -f auth.log
Dec 4 14:16:36 dsokolov cprdr[4316]: capi20:!CryptMsgGetParam!() Exception :'������ 0xea: More data is available.' at file:'/dailybuilds/CSPbuild/CSP/capilite/CMSMessage.h' line:155!
эта ошибка при проверки ЭЦП прогнал iconv Код:capi20:!CryptMsgGetParam!() Exception :'Ошибка 0xea: More data is available.' at file:'/dailybuilds/CSPbuild/CSP/capilite/CMSMessage.h' line:155!
Отредактировано пользователем 4 декабря 2012 г. 17:16:57(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.11.2012(UTC) Сообщений: 104 Откуда: Белгород
|
тутпишут что "Освобождать структуру нужно, так как для нее выделяется память." может с этим дело? как тогда скрипт поправить?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close