Развернуть все
Свернуть все

Добавление второй (параллельной) подписи к подписанному сообщению

HTML
<script language="javascript" src="cadesplugin_api.js"></script>

В данном примере создается подпись по хеш значению документа, выполняется ее проверка и добавляется вторая (параллельная) подпись.

JavaScript
        var oSigner = cadesplugin.CreateObject("CAdESCOM.CPSigner");
        var oStore = cadesplugin.CreateObject("CAdESCOM.Store");
        oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
        var oCerts = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, certSubjectName);
        if (oCertificates.Count == 0) {
            alert("Certificate not found: " + certSubjectName);
            return;
        }

        oSigner.Certificate = oCerts.Item(1);
        var oSignedData = cadesplugin.CreateObject("CAdESCOM.CadesSignedData");
        var oHashedData = cadesplugin.CreateObject("CAdESCOM.HashedData");

        oHashedData.Hash(dataToSign);
        var sSignedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);

        var oHashedData1 = cadesplugin.CreateObject("CAdESCOM.HashedData");
        oHashedData1.Hash(dataToSign);
        oSignedData.VerifyHash(oHashedData1, sSignedMessage, CADESCOM_CADES_BES);

        var sSignedMessage1 = oSignedData.CoSignHash(oHashedData, oSigner, CADESCOM_CADES_BES);

        var oHashedData2 = cadesplugin.CreateObject("CAdESCOM.HashedData");
        oHashedData2.Hash(dataToSign);
        oSignedData.VerifyHash(oHashedData2, sSignedMessage1, CADESCOM_CADES_BES);