Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.08.2012(UTC) Сообщений: 60
Сказал(а) «Спасибо»: 11 раз
|
Добрый день! Встала задача проверить созданную в браузере подпись для текста. Ниже следующая функция, которой передается текст и она возвращает подпись в формате BASE64
Код:
var CADESCOM_CADES_BES = 1;
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 sign(id, dataToSign) {
return new Promise(function(resolve, reject){
cadesplugin.async_spawn(function *(args) {
try {
var oStore = yield cadesplugin.CreateObjectAsync("CAPICOM.Store");
yield oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var CertificatesObj = yield oStore.Certificates;
var oCertificate = yield CertificatesObj.Item(id);
var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
yield oSigner.propset_Certificate(oCertificate);
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData.propset_Content(dataToSign);
var sSignedMessage = yield oSignedData.SignCades(oSigner, CADESCOM_CADES_BES, true);
yield oStore.Close();
args[2](sSignedMessage);
}
catch (err)
{
args[3]("Failed to create signature. Error: " + cadesplugin.getLastError(err));
}
}, id, dataToSign, resolve, reject);
});
}
Код:MIIDxgYJKoZIhvcNAQcCoIIDtzCCA7MCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCAgkwggIFMIIBbqADAgECAhDe0bqa03wIh0BYRxLB0XJgMA0GCSqGSIb3DQEBBQUAMBIxEDAOBgNVBAMTB0RheWFub3YwHhcNMTYxMjMxMTkwMDAwWhcNMjIxMjMxMTkwMDAwWjASMRAwDgYDVQQDEwdEYXlhbm92MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC12QK9hiWz3+yDExeZqphN42bhgHtUBAidkirQh2AqFbIieCbFuSIRJTkPdgPXGrpnXSC4M3TCjoJTBIQbac/A5DL2vCJtPTviI30gl6WaB+p8XQMGBEKHkQYKPVzFylPkAzMPTwZuLW1gDqjp6o8NMZ/laAZAo455jSap/M3q8QIDAQABo1wwWjATBgNVHSUEDDAKBggrBgEFBQcDAzBDBgNVHQEEPDA6gBDFbOk5qmeqtcAx1fz57biPoRQwEjEQMA4GA1UEAxMHRGF5YW5vdoIQ3tG6mtN8CIdAWEcSwdFyYDANBgkqhkiG9w0BAQUFAAOBgQAXnLvqWnLFHHi4JwJWcFggIHkqAWWnEebQxlzoUs7s5uyA1gwIr3cDSrMzJAmtLLYibYfh6yR0PkHujRmvW9jYL6sz+pCCBtJrYt6dqk+8jrdtFOxWcv2m5hOOhJtORVly3orcDy9Coiuo5MgFK/uEj+eJdnuX4dBhHpOQ8MELYDGCAYUwggGBAgEBMCYwEjEQMA4GA1UEAxMHRGF5YW5vdgIQ3tG6mtN8CIdAWEcSwdFyYDAJBgUrDgMCGgUAoIG2MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDUxNzA2MjYxNVowIwYJKoZIhvcNAQkEMRYEFJ7wMUDFJakUF+TaoOJjiDuSpmKoMFcGCyqGSIb3DQEJEAIMMUgwRjBEMEIEFHRdEHcmrDEgiM3EnE3FABNYC0dEMCowFqQUMBIxEDAOBgNVBAMTB0RheWFub3YCEN7RuprTfAiHQFhHEsHRcmAwDQYJKoZIhvcNAQEBBQAEgYBKi4+YBrWV5wzhmu3iDaX8CM+pMpcVUX3v6gP8mNbuFmbBHyd4vrdVVjRmxqxpAUEwEHuXeL+Ifskwu0UDb/qbX+KRiM1OqvqIjq+Si/6xiP8WFpvyaJegceYtZE3v7e9GQ3sdKG0hzYM6Jd8b9Swd0MA72qsZHtv9RmI4eVHlHA==
На сервере установлены КриптоПро, установлены корневые сертификаты. Создан файл с содержимым (test.xml), которое подписывалось, и создан файл с подписью в base64 (test.xml.sgn). Проверка выкидывает с ошибкой cryptcp -dn "test.cer"-nochain -vsignf test.xmlКод:CryptCP 3.41 (c) "Crypto-Pro", 2002-2013.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN:Dayanov
Valid from 31.12.2016 19:00:00 to 31.12.2022 19:00:00
Folder './':
test.xml... Signature verifying...
Signer: Dayanov
Error: Provider type not defined.
/dailybuildsbranches/CSP_3_6r4/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:630: 0x80090017
Error: Signature.
/dailybuildsbranches/CSP_3_6r4/CSPbuild/CSP/samples/CPCrypt/DSign.cpp:826: 0x200001F9
[ErrorCode: 0x200001f9]
С проверкой цепочки (test.cer стоит как в корневых так и в списке пользователя) cryptcp -dn "test.cer"-nochain -vsignf test.xmlКод:CryptCP 3.41 (c) "Crypto-Pro", 2002-2013.
Command prompt Utility for file signature and encryption.
The following certificate will be used:
RDN:Dayanov
Valid from 31.12.2016 19:00:00 to 31.12.2022 19:00:00
Error: Generic trust failure.
/dailybuildsbranches/CSP_3_6r4/CSPbuild/CSP/samples/CPCrypt/Certs.cpp:462: 0x800B010B
[ErrorCode: 0x800b010b]
Подскажите куда смотреть, куда копать? С подписями, созданными на сервере, проверка работает отлично.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close