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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Deng  
#1 Оставлено : 10 февраля 2012 г. 17:27:49(UTC)
Deng

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2012(UTC)
Сообщений: 2

Добрый день.
Возникла проблема с подписью файла подпись строки проходит нормально а вот с подписыванием файла что та никак.
Вываливается ошибка метод не поддерживает сам код привожу ниже.


Код:




function SignText(text, convert_to_utf8, silent, title) {
    var retStr = "";

    try {
        var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
        var CAPICOM_CURRENT_USER_STORE = 2;
        var CAPICOM_STORE_OPEN_READ_ONLY = 0;
        var CAPICOM_INFO_SUBJECT_SIMPLE_NAME = 0;
        var CAPICOM_INFO_ISSUER_SIMPLE_NAME = 1;
        var CAPICOM_INFO_SUBJECT_EMAIL_NAME = 2;
        var CAPICOM_INFO_ISSUER_EMAIL_NAME = 3;
        var CAPICOM_ENCODE_BASE64 = 0;
        if (IsCAPICOMInstalled() != true) {
            str = "Библиотека CAPICOM  .";
            if (silent)
                return '! ' + str;
            else
                alert(str);
        }
        else {
            var MyStore = new ActiveXObject("CAPICOM.Store");
            var SigData = new ActiveXObject("CAPICOM.SignedData");
            var signerfiler = new ActiveXObject("CAPICOM.SignedCode");
            var Signer = new ActiveXObject("CAPICOM.Signer");
            debugger;
            MyStore.Open(CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY);
            debugger;
            var Certificates = MyStore.Certificates;
            Certificates = Certificates.Select("Выберите сертификат для подписи", ((typeof title != 'undefined') ? title : "Выберите сертификат для подписи: "));
          debugger;
            signerfiler.Sign(Certificates.Item(1));
//            debugger;
//            signerfiler.FileName = 'C:\\Users\\ownloads\\adxienet-v701-b4102-vs-pro\\readme.txt';
            debugger;
            Signer.Certificate = Certificates.Item(1);

            if (convert_to_utf8 == 1) {
                var CU = new ActiveXObject("CAPICOM.Utilities");
                debugger;
                signerfiler.Content = CU.HexToBinary(text);
            debugger;
            alert(SigData.Content);
            }
            else {
                SigData.Sign  = text;
            }
            //	       	retStr=SigData.Sign(Signer, true, CAPICOM_ENCODE_BASE64);
            retStr = SigData.Sign(Signer, false, CAPICOM_ENCODE_BASE64);
        }
    }
    catch (e) {
        if (silent)
            retStr = '! ' + e.description;
        else
            alert('Исключение: ' + e.description);
    }
    alert(retStr);
    return retStr;
}

function IsCAPICOMInstalled() {
    if ((typeof (oCAPICOM) == "object") && (oCAPICOM.object != null)) return true;
    return true;
}



Offline Андрей Писарев  
#2 Оставлено : 10 февраля 2012 г. 17:29:47(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 14,190
Мужчина
Российская Федерация

Сказал «Спасибо»: 621 раз
Поблагодарили: 2397 раз в 1886 постах
SDK на CAPICOM + поиск по форуму...

считывать нужно как бинарные данные


http://www.cryptopro.ru/....aspx?g=posts&t=1723

Цитата:

if (convert_to_utf8 == 1) {
var CU = new ActiveXObject("CAPICOM.Utilities");
debugger;
signerfiler.Content = CU.HexToBinary(text);


в text что? файл в hex?

Отредактировано пользователем 10 февраля 2012 г. 17:40:09(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Deng  
#3 Оставлено : 10 февраля 2012 г. 17:49:41(UTC)
Deng

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2012(UTC)
Сообщений: 2

Нет это я забыл убрать.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.