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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Codenewman  
#1 Оставлено : 19 июня 2014 г. 23:43:27(UTC)
Codenewman

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

Группы: Участники
Зарегистрирован: 19.06.2014(UTC)
Сообщений: 5
Российская Федерация

Здравствуйте!

Прошу помощи, реализую электронную подпись, ссылался на http://cpdn.cryptopro.ru , подглава "создание и проверка подписи"
Все работает прекрасно, сообщение подписывается, но задача стоит другая, а именно подписать word документ. Скажите пожалуйста в какую стороны копать...

Вот мой код:

Код:


<html>
<object id="cadesplugin" type="application/x-cades" class="hiddenObject"></object>
<script type="text/javascript">
RunPlugin();

    var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
    var CAPICOM_CURRENT_USER_STORE = 2;
    var CAPICOM_MY_STORE = "My";
    var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
    var CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;

    function GetErrorMessage(e) {
        var err = e.message;
        if (!err) {
            err = e;
        } else if (e.number) {
            err += " (" + e.number + ")";
        }
        return err;
    }

    function CreateObject(name) {
        switch (navigator.appName) {
            case "Microsoft Internet Explorer":
                return new ActiveXObject(name);
            default:
                var userAgent = navigator.userAgent;
                if (userAgent.match(/Trident\/./i)) {
                    return new ActiveXObject(name);
                }
                var cadesobject = document.getElementById("cadesplugin");
                return cadesobject.CreateObject(name);
        }
    }

    function SignCreate(certSubjectName, dataToSign) {
        
        var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
        var CAPICOM_CURRENT_USER_STORE = 2;
        var CAPICOM_MY_STORE = "My";
        var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
        var CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;

        var oStore = CreateObject("CAPICOM.Store");
        oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
        CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

        
        var oCertificates = oStore.Certificates.Find(
        CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, certSubjectName);

        if (oCertificates.Count == 0) {
            alert("Certificate not found: " + certSubjectName);
            return;
        }
        var oCertificate = oCertificates.Item(1);
        var oSigner = CreateObject("CAdESCOM.CPSigner");
        oSigner.Certificate = oCertificate;
        oSigner.TSAAddress = "http://cryptopro.ru/tsp/";

        var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
        oSignedData.Content = dataToSign;       

        try {
            var sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1);
        } catch (err) {
            alert("Failed to create signature. Error: " + GetErrorMessage(err));
            return;
        }
        


        oStore.Close(); 
        return sSignedMessage;
    }

    function Verify(sSignedMessage) {
        var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
        try {
            oSignedData.VerifyCades(sSignedMessage, CADESCOM_CADES_X_LONG_TYPE_1);
        } catch (err) {
            alert("Failed to verify signature. Error: " + GetErrorMessage(err));
            return false;
        }

        return true;
    }

    function RunPlugin() {

        var signedMessage = SignCreate("Название сертификата", "Message");

        var verifyResult = Verify(signedMessage);
        if (verifyResult) {
            alert("Signature verified");
        }
    }



Заранее спасибо!
Offline Codenewman  
#2 Оставлено : 21 июня 2014 г. 8:53:35(UTC)
Codenewman

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

Группы: Участники
Зарегистрирован: 19.06.2014(UTC)
Сообщений: 5
Российская Федерация

help
Offline Codenewman  
#3 Оставлено : 21 июня 2014 г. 21:31:53(UTC)
Codenewman

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

Группы: Участники
Зарегистрирован: 19.06.2014(UTC)
Сообщений: 5
Российская Федерация

Неужели никто не может подсказать?
Offline Новожилова Елена  
#4 Оставлено : 23 июня 2014 г. 14:23:37(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

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