Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

9 Страницы<12345>»
Опции
К последнему сообщению К первому непрочитанному
Offline F_S  
#21 Оставлено : 3 декабря 2012 г. 17:17:09(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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;
}
Offline F_S  
#22 Оставлено : 3 декабря 2012 г. 17:24:17(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline F_S  
#23 Оставлено : 4 декабря 2012 г. 13:42:18(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 104
Откуда: Белгород

проблема актуальна.. в чем может быть дело
Offline F_S  
#24 Оставлено : 4 декабря 2012 г. 16:36:31(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 104
Откуда: Белгород

..
Offline F_S  
#25 Оставлено : 4 декабря 2012 г. 16:45:42(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 104
Откуда: Белгород

короче говорят на linux машине при проверки подписи
oSignedData.VerifyCades(signature, signatureFormat, signatureType);
вылетает в эксепштн с 0x800B010E
Offline F_S  
#26 Оставлено : 4 декабря 2012 г. 16:55:10(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline F_S  
#27 Оставлено : 4 декабря 2012 г. 17:03:15(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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)
Offline F_S  
#28 Оставлено : 4 декабря 2012 г. 17:13:48(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 104
Откуда: Белгород

где смотреть логи криптопро в убунту?
в секции [debug] в config64.ini поставил везде 75, нигде ничего нету
Offline F_S  
#29 Оставлено : 4 декабря 2012 г. 17:15:15(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline F_S  
#30 Оставлено : 4 декабря 2012 г. 17:22:16(UTC)
F_S

Статус: Активный участник

Группы: Участники
Зарегистрирован: 12.11.2012(UTC)
Сообщений: 104
Откуда: Белгород

тут
пишут что "Освобождать структуру нужно, так как для нее выделяется память."
может с этим дело?
как тогда скрипт поправить?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
9 Страницы<12345>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.