Статус: Новичок
Группы: Участники
Зарегистрирован: 11.03.2019(UTC) Сообщений: 6
|
В статье https://docs.cryptopro.r.../plugin/content-encoding указывается, что существует ограничение на размер подписываемых данных. У меня реализовано шифрование, я и также столкнулся с тем, что файл более 60МБ не шифруется. Хотя причину я точно определить не могу, все что есть, это сообщение в консоли браузера Цитата:Uncaught (in promise) {type: 'error', requestid: 8, message: 'Lost connection to extension'} У меня два вопроса: 1) если эта ошибка также как и подписание связана с ограничениями плагина возможно ли шифрование файла по частям. Если не сложно с примером)) 2) зашифрованные данные возвращаются в кодировке base64. Нельзя их сразу возвращать в двоичном виде? Решение обходное отправить шифрованный файл на сервер и там перекодировать, но хтелось бы по возможности избежать лишних операций. Заранее спасибо! Код:
<script language="javascript" src="cadesplugin_api.js"></script>
<script>
async function enc() {
var oFile = document.getElementById("uploadFile").files[0];
var selectedCert = await cadesplugin.CreateObjectAsync("CAdESCOM.Certificate");
var dataCert = await fetch("m.cer");
await selectedCert.Import(await dataCert.text());
var reader = new FileReader();
reader.onload = async function (ev) {
console.log(ev);
var header = ";base64,";
var sFileData = reader.result;
var sBase64Data = sFileData.substr(sFileData.indexOf(header) + header.length);
var oEnvelop = await cadesplugin.CreateObjectAsync("CAdESCOM.CPEnvelopedData");
await oEnvelop.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
await oEnvelop.propset_Content(sBase64Data);
await (await oEnvelop.Recipients).Add(selectedCert);
var data = await oEnvelop.Encrypt();
var a = document.createElement("a");
document.body.appendChild(a);
let blob = new Blob([data], {
type: "octet/stream",
});
let url = window.URL.createObjectURL(blob);
a.href = url;
a.download = oFile.name + ".p7e";
a.click();
window.URL.revokeObjectURL(url);
document.body.removeChild(a);
};
reader.readAsDataURL(oFile);
}
</script>
<input type="file" id="uploadFile" />
<button type="button" onclick="enc();">enc</button>
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close