mirror of
https://github.com/crypto-pro-web/crypto-pro-js.git
synced 2025-05-21 02:53:05 +03:00
build с последними изменениями
This commit is contained in:
parent
388248440a
commit
5b2e237c34
8
dist/api/getAllCertificates.d.ts
vendored
Normal file
8
dist/api/getAllCertificates.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import { Certificate } from './certificate';
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе, без фильтрации по дате и наличию приватного ключа
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
export declare const getAllCertificates: (resetCache?: boolean) => Promise<Certificate[]>;
|
3
dist/api/getCertificate.d.ts
vendored
3
dist/api/getCertificate.d.ts
vendored
@ -3,6 +3,7 @@ import { Certificate } from './certificate';
|
||||
* Возвращает сертификат по отпечатку
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @param validOnly - проверять сертификаты по дате и наличию приватного ключа
|
||||
* @returns сертификат
|
||||
*/
|
||||
export declare const getCertificate: (thumbprint: string) => Promise<Certificate>;
|
||||
export declare const getCertificate: (thumbprint: string, validOnly?: boolean) => Promise<Certificate>;
|
||||
|
8
dist/api/getCertificates.d.ts
vendored
Normal file
8
dist/api/getCertificates.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import { Certificate } from './certificate';
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
export declare const getCertificates: (resetCache?: boolean) => Promise<Certificate[]>;
|
2
dist/api/index.d.ts
vendored
2
dist/api/index.d.ts
vendored
@ -3,6 +3,8 @@ export * from './getUserCertificates';
|
||||
export * from './getAllUserCertificates';
|
||||
export * from './getContainerCertificates';
|
||||
export * from './getAllContainerCertificates';
|
||||
export * from './getCertificates';
|
||||
export * from './getAllCertificates';
|
||||
export * from './getSystemInfo';
|
||||
export * from './isValidSystemSetup';
|
||||
export * from './createXMLSignature';
|
||||
|
447
dist/crypto-pro-js.js
vendored
447
dist/crypto-pro-js.js
vendored
@ -3457,6 +3457,122 @@ exports.createXMLSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function
|
||||
}); });
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./api/getAllCertificates.ts":
|
||||
/*!***********************************!*\
|
||||
!*** ./api/getAllCertificates.ts ***!
|
||||
\***********************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
var getAllUserCertificates_1 = __webpack_require__(/*! ./getAllUserCertificates */ "./api/getAllUserCertificates.ts");
|
||||
var getAllContainerCertificates_1 = __webpack_require__(/*! ./getAllContainerCertificates */ "./api/getAllContainerCertificates.ts");
|
||||
var certificatesCache;
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе, без фильтрации по дате и наличию приватного ключа
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
exports.getAllCertificates = _afterPluginsLoaded_1._afterPluginsLoaded(function (resetCache) {
|
||||
if (resetCache === void 0) { resetCache = false; }
|
||||
return __awaiter(void 0, void 0, void 0, function () {
|
||||
var availableCertificates, error_1, containerAllCertificates_1, containerAllCertificatesCount_1, foundAvailableCertificate, error_2;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0:
|
||||
if (!resetCache && certificatesCache) {
|
||||
return [2 /*return*/, certificatesCache];
|
||||
}
|
||||
_a.label = 1;
|
||||
case 1:
|
||||
_a.trys.push([1, 3, , 4]);
|
||||
return [4 /*yield*/, getAllUserCertificates_1.getAllUserCertificates(resetCache)];
|
||||
case 2:
|
||||
availableCertificates = _a.sent();
|
||||
return [3 /*break*/, 4];
|
||||
case 3:
|
||||
error_1 = _a.sent();
|
||||
console.error(error_1);
|
||||
availableCertificates = [];
|
||||
return [3 /*break*/, 4];
|
||||
case 4:
|
||||
_a.trys.push([4, 6, , 7]);
|
||||
return [4 /*yield*/, getAllContainerCertificates_1.getAllContainerCertificates(resetCache)];
|
||||
case 5:
|
||||
containerAllCertificates_1 = _a.sent();
|
||||
if (!availableCertificates) {
|
||||
availableCertificates = containerAllCertificates_1;
|
||||
}
|
||||
else {
|
||||
containerAllCertificatesCount_1 = containerAllCertificates_1.length - 1;
|
||||
foundAvailableCertificate = void 0;
|
||||
while (containerAllCertificatesCount_1) {
|
||||
foundAvailableCertificate = availableCertificates.find(function (cert) { return cert.thumbprint === containerAllCertificates_1[containerAllCertificatesCount_1].thumbprint; });
|
||||
if (!foundAvailableCertificate) {
|
||||
availableCertificates.push(containerAllCertificates_1[containerAllCertificatesCount_1]);
|
||||
}
|
||||
containerAllCertificatesCount_1--;
|
||||
}
|
||||
}
|
||||
return [3 /*break*/, 7];
|
||||
case 6:
|
||||
error_2 = _a.sent();
|
||||
console.error(error_2);
|
||||
return [3 /*break*/, 7];
|
||||
case 7:
|
||||
if (!availableCertificates) {
|
||||
throw new Error('Нет доступных сертификатов');
|
||||
}
|
||||
certificatesCache = availableCertificates;
|
||||
return [2 /*return*/, certificatesCache];
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./api/getAllContainerCertificates.ts":
|
||||
@ -3665,14 +3781,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
var getUserCertificates_1 = __webpack_require__(/*! ./getUserCertificates */ "./api/getUserCertificates.ts");
|
||||
var getCertificates_1 = __webpack_require__(/*! ./getCertificates */ "./api/getCertificates.ts");
|
||||
var getAllCertificates_1 = __webpack_require__(/*! ./getAllCertificates */ "./api/getAllCertificates.ts");
|
||||
/**
|
||||
* Возвращает сертификат по отпечатку
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @param validOnly - проверять сертификаты по дате и наличию приватного ключа
|
||||
* @returns сертификат
|
||||
*/
|
||||
exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint) { return __awaiter(void 0, void 0, void 0, function () {
|
||||
exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, validOnly) {
|
||||
if (validOnly === void 0) { validOnly = true; }
|
||||
return __awaiter(void 0, void 0, void 0, function () {
|
||||
var availableCertificates, foundCertificate;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
@ -3680,9 +3800,16 @@ exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded(function (thu
|
||||
if (!thumbprint) {
|
||||
throw new Error('Отпечаток не указан');
|
||||
}
|
||||
return [4 /*yield*/, getUserCertificates_1.getUserCertificates()];
|
||||
if (!validOnly) return [3 /*break*/, 2];
|
||||
return [4 /*yield*/, getCertificates_1.getCertificates()];
|
||||
case 1:
|
||||
availableCertificates = _a.sent();
|
||||
return [3 /*break*/, 4];
|
||||
case 2: return [4 /*yield*/, getAllCertificates_1.getAllCertificates()];
|
||||
case 3:
|
||||
availableCertificates = _a.sent();
|
||||
_a.label = 4;
|
||||
case 4:
|
||||
foundCertificate = availableCertificates.find(function (cert) { return cert.thumbprint === thumbprint; });
|
||||
if (!foundCertificate) {
|
||||
throw new Error("\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442 \u0441 \u043E\u0442\u043F\u0435\u0447\u0430\u0442\u043A\u043E\u043C: \"" + thumbprint + "\" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D");
|
||||
@ -3690,7 +3817,124 @@ exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded(function (thu
|
||||
return [2 /*return*/, foundCertificate];
|
||||
}
|
||||
});
|
||||
}); });
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./api/getCertificates.ts":
|
||||
/*!********************************!*\
|
||||
!*** ./api/getCertificates.ts ***!
|
||||
\********************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
var getUserCertificates_1 = __webpack_require__(/*! ./getUserCertificates */ "./api/getUserCertificates.ts");
|
||||
var getContainerCertificates_1 = __webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts");
|
||||
var certificatesCache;
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
exports.getCertificates = _afterPluginsLoaded_1._afterPluginsLoaded(function (resetCache) {
|
||||
if (resetCache === void 0) { resetCache = false; }
|
||||
return __awaiter(void 0, void 0, void 0, function () {
|
||||
var availableCertificates, error_1, containerCertificates_1, containerCertificatesCount_1, foundAvailableCertificate, error_2;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0:
|
||||
if (!resetCache && certificatesCache) {
|
||||
return [2 /*return*/, certificatesCache];
|
||||
}
|
||||
_a.label = 1;
|
||||
case 1:
|
||||
_a.trys.push([1, 3, , 4]);
|
||||
return [4 /*yield*/, getUserCertificates_1.getUserCertificates(resetCache)];
|
||||
case 2:
|
||||
availableCertificates = _a.sent();
|
||||
return [3 /*break*/, 4];
|
||||
case 3:
|
||||
error_1 = _a.sent();
|
||||
console.error(error_1);
|
||||
availableCertificates = [];
|
||||
return [3 /*break*/, 4];
|
||||
case 4:
|
||||
_a.trys.push([4, 6, , 7]);
|
||||
return [4 /*yield*/, getContainerCertificates_1.getContainerCertificates(resetCache)];
|
||||
case 5:
|
||||
containerCertificates_1 = _a.sent();
|
||||
if (!availableCertificates) {
|
||||
availableCertificates = containerCertificates_1;
|
||||
}
|
||||
else {
|
||||
containerCertificatesCount_1 = containerCertificates_1.length - 1;
|
||||
foundAvailableCertificate = void 0;
|
||||
while (containerCertificatesCount_1) {
|
||||
foundAvailableCertificate = availableCertificates.find(function (cert) { return cert.thumbprint === containerCertificates_1[containerCertificatesCount_1].thumbprint; });
|
||||
if (!foundAvailableCertificate) {
|
||||
availableCertificates.push(containerCertificates_1[containerCertificatesCount_1]);
|
||||
}
|
||||
containerCertificatesCount_1--;
|
||||
}
|
||||
}
|
||||
return [3 /*break*/, 7];
|
||||
case 6:
|
||||
error_2 = _a.sent();
|
||||
console.error(error_2);
|
||||
return [3 /*break*/, 7];
|
||||
case 7:
|
||||
if (!availableCertificates) {
|
||||
throw new Error('Нет доступных сертификатов');
|
||||
}
|
||||
certificatesCache = availableCertificates;
|
||||
return [2 /*return*/, certificatesCache];
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/***/ }),
|
||||
@ -4021,6 +4265,8 @@ __export(__webpack_require__(/*! ./getUserCertificates */ "./api/getUserCertific
|
||||
__export(__webpack_require__(/*! ./getAllUserCertificates */ "./api/getAllUserCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getAllContainerCertificates */ "./api/getAllContainerCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getCertificates */ "./api/getCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getAllCertificates */ "./api/getAllCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getSystemInfo */ "./api/getSystemInfo.ts"));
|
||||
__export(__webpack_require__(/*! ./isValidSystemSetup */ "./api/isValidSystemSetup.ts"));
|
||||
__export(__webpack_require__(/*! ./createXMLSignature */ "./api/createXMLSignature.ts"));
|
||||
@ -4646,17 +4892,173 @@ exports._generateCadesFn = function (callback) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
var __generator = (this && this.__generator) || function (thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts");
|
||||
var _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts");
|
||||
var _getCadesUserCert_1 = __webpack_require__(/*! ./_getCadesUserCert */ "./helpers/_getCadesUserCert.ts");
|
||||
var _getCadesContainerCert_1 = __webpack_require__(/*! ./_getCadesContainerCert */ "./helpers/_getCadesContainerCert.ts");
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint) {
|
||||
exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint) { return __awaiter(void 0, void 0, void 0, function () {
|
||||
var cadesCertificate, error_1;
|
||||
return __generator(this, function (_a) {
|
||||
switch (_a.label) {
|
||||
case 0:
|
||||
_a.trys.push([0, 2, , 4]);
|
||||
return [4 /*yield*/, _getCadesUserCert_1._getCadesUserCert(thumbprint)];
|
||||
case 1:
|
||||
cadesCertificate = _a.sent();
|
||||
return [3 /*break*/, 4];
|
||||
case 2:
|
||||
error_1 = _a.sent();
|
||||
console.log(error_1);
|
||||
return [4 /*yield*/, _getCadesContainerCert_1._getCadesContainerCert(thumbprint)];
|
||||
case 3:
|
||||
cadesCertificate = _a.sent();
|
||||
return [3 /*break*/, 4];
|
||||
case 4: return [2 /*return*/, cadesCertificate];
|
||||
}
|
||||
});
|
||||
}); });
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./helpers/_getCadesContainerCert.ts":
|
||||
/*!*******************************************!*\
|
||||
!*** ./helpers/_getCadesContainerCert.ts ***!
|
||||
\*******************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts");
|
||||
var _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts");
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища закрытого ключа
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
exports._getCadesContainerCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint) {
|
||||
var cadesplugin = window.cadesplugin;
|
||||
return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() {
|
||||
var cadesStore;
|
||||
try {
|
||||
cadesStore = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.Store');
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при попытке доступа к хранилищу');
|
||||
}
|
||||
if (!cadesStore) {
|
||||
throw new Error('Не удалось получить доступ к хранилищу сертификатов');
|
||||
}
|
||||
try {
|
||||
void (_generateCadesFn_1.__cadesAsyncToken__ +
|
||||
cadesStore.Open(cadesplugin.CADESCOM_CONTAINER_STORE, cadesplugin.CAPICOM_MY_STORE, cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED));
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища закрытого ключа');
|
||||
}
|
||||
var cadesCertificateList;
|
||||
var certificatesCount;
|
||||
try {
|
||||
cadesCertificateList = _generateCadesFn_1.__cadesAsyncToken__ + cadesStore.Certificates;
|
||||
certificatesCount = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов из хранилища закрытого ключа');
|
||||
}
|
||||
if (!certificatesCount) {
|
||||
throw new Error('Нет доступных сертификатов в хранилище закрытого ключа');
|
||||
}
|
||||
var cadesCertificate;
|
||||
try {
|
||||
cadesCertificateList =
|
||||
_generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
|
||||
var count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;
|
||||
if (!count) {
|
||||
throw new Error("\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442 \u0441 \u043E\u0442\u043F\u0435\u0447\u0430\u0442\u043A\u043E\u043C: \"" + thumbprint + "\" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430");
|
||||
}
|
||||
cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата из хранилища закрытого ключа');
|
||||
}
|
||||
cadesStore.Close();
|
||||
return cadesCertificate;
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./helpers/_getCadesUserCert.ts":
|
||||
/*!**************************************!*\
|
||||
!*** ./helpers/_getCadesUserCert.ts ***!
|
||||
\**************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts");
|
||||
var _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts");
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища пользователя
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
exports._getCadesUserCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint) {
|
||||
var cadesplugin = window.cadesplugin;
|
||||
return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() {
|
||||
var cadesStore;
|
||||
@ -4676,7 +5078,7 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thum
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища');
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища пользователя');
|
||||
}
|
||||
var cadesCertificateList;
|
||||
var certificatesCount;
|
||||
@ -4686,10 +5088,10 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thum
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов');
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов из хранилища пользователя');
|
||||
}
|
||||
if (!certificatesCount) {
|
||||
throw new Error('Нет доступных сертификатов');
|
||||
throw new Error('Нет доступных сертификатов в хранилище пользователя');
|
||||
}
|
||||
var cadesCertificate;
|
||||
try {
|
||||
@ -4697,13 +5099,13 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thum
|
||||
_generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
|
||||
var count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;
|
||||
if (!count) {
|
||||
throw new Error("\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442 \u0441 \u043E\u0442\u043F\u0435\u0447\u0430\u0442\u043A\u043E\u043C: \"" + thumbprint + "\" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D");
|
||||
throw new Error("\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442 \u0441 \u043E\u0442\u043F\u0435\u0447\u0430\u0442\u043A\u043E\u043C: \"" + thumbprint + "\" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 \u0445\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F");
|
||||
}
|
||||
cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата');
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата из хранилища пользователя');
|
||||
}
|
||||
cadesStore.Close();
|
||||
return cadesCertificate;
|
||||
@ -4855,6 +5257,7 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) {
|
||||
var isYandex = 0;
|
||||
var canPromise = !!window.Promise;
|
||||
var cadesplugin_loaded_event_recieved = false;
|
||||
var isFireFoxExtensionLoaded = false;
|
||||
var cadesplugin;
|
||||
|
||||
if(canPromise)
|
||||
@ -5078,6 +5481,14 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) {
|
||||
cadesplugin.XCN_CRYPT_STRING_BASE64HEADER = 0;
|
||||
cadesplugin.AT_KEYEXCHANGE = 1;
|
||||
cadesplugin.AT_SIGNATURE = 2;
|
||||
|
||||
cadesplugin.CARRIER_FLAG_REMOVABLE = 1;
|
||||
cadesplugin.CARRIER_FLAG_UNIQUE = 2;
|
||||
cadesplugin.CARRIER_FLAG_PROTECTED = 4;
|
||||
cadesplugin.CARRIER_FLAG_FUNCTIONAL_CARRIER = 8;
|
||||
cadesplugin.CARRIER_FLAG_SECURE_MESSAGING = 16;
|
||||
cadesplugin.CARRIER_FLAG_ABLE_VISUALISE_SIGNATURE = 64;
|
||||
cadesplugin.CARRIER_FLAG_VIRTUAL = 128;
|
||||
}
|
||||
|
||||
function async_spawn(generatorFunc) {
|
||||
@ -5324,10 +5735,17 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) {
|
||||
}
|
||||
}
|
||||
function firefox_or_safari_nmcades_onload() {
|
||||
if (window.cadesplugin_extension_loaded_callback)
|
||||
window.cadesplugin_extension_loaded_callback();
|
||||
isFireFoxExtensionLoaded = true;
|
||||
cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);
|
||||
}
|
||||
|
||||
function nmcades_api_onload () {
|
||||
function nmcades_api_onload() {
|
||||
if (!isIE() && !isFireFox && !isSafari) {
|
||||
if (window.cadesplugin_extension_loaded_callback)
|
||||
window.cadesplugin_extension_loaded_callback();
|
||||
}
|
||||
window.postMessage("cadesplugin_echo_request", "*");
|
||||
window.addEventListener("message", function (event){
|
||||
if (typeof(event.data) !== "string" || !event.data.match("cadesplugin_loaded"))
|
||||
@ -5442,6 +5860,7 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) {
|
||||
return;
|
||||
if(isFireFox)
|
||||
{
|
||||
if (!isFireFoxExtensionLoaded)
|
||||
show_firefox_missing_extension_dialog();
|
||||
}
|
||||
plugin_resolved = 1;
|
||||
@ -5534,7 +5953,7 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) {
|
||||
};
|
||||
|
||||
//Export
|
||||
cadesplugin.JSModuleVersion = "2.3.1";
|
||||
cadesplugin.JSModuleVersion = "2.3.2";
|
||||
cadesplugin.async_spawn = async_spawn;
|
||||
cadesplugin.set = set_pluginObject;
|
||||
cadesplugin.set_log_level = set_log_level;
|
||||
|
2
dist/crypto-pro-js.js.map
vendored
2
dist/crypto-pro-js.js.map
vendored
File diff suppressed because one or more lines are too long
6
dist/crypto-pro-js.min.js
vendored
6
dist/crypto-pro-js.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/crypto-pro-js.min.js.map
vendored
2
dist/crypto-pro-js.min.js.map
vendored
File diff suppressed because one or more lines are too long
7
dist/helpers/_getCadesContainerCert.d.ts
vendored
Normal file
7
dist/helpers/_getCadesContainerCert.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища закрытого ключа
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
export declare const _getCadesContainerCert: (thumbprint: string) => Promise<any>;
|
7
dist/helpers/_getCadesUserCert.d.ts
vendored
Normal file
7
dist/helpers/_getCadesUserCert.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища пользователя
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
export declare const _getCadesUserCert: (thumbprint: string) => Promise<any>;
|
8
lib/api/getAllCertificates.d.ts
vendored
Normal file
8
lib/api/getAllCertificates.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import { Certificate } from './certificate';
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе, без фильтрации по дате и наличию приватного ключа
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
export declare const getAllCertificates: (resetCache?: boolean) => Promise<Certificate[]>;
|
3
lib/api/getCertificate.d.ts
vendored
3
lib/api/getCertificate.d.ts
vendored
@ -3,6 +3,7 @@ import { Certificate } from './certificate';
|
||||
* Возвращает сертификат по отпечатку
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @param validOnly - проверять сертификаты по дате и наличию приватного ключа
|
||||
* @returns сертификат
|
||||
*/
|
||||
export declare const getCertificate: (thumbprint: string) => Promise<Certificate>;
|
||||
export declare const getCertificate: (thumbprint: string, validOnly?: boolean) => Promise<Certificate>;
|
||||
|
8
lib/api/getCertificates.d.ts
vendored
Normal file
8
lib/api/getCertificates.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
import { Certificate } from './certificate';
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
export declare const getCertificates: (resetCache?: boolean) => Promise<Certificate[]>;
|
2
lib/api/index.d.ts
vendored
2
lib/api/index.d.ts
vendored
@ -3,6 +3,8 @@ export * from './getUserCertificates';
|
||||
export * from './getAllUserCertificates';
|
||||
export * from './getContainerCertificates';
|
||||
export * from './getAllContainerCertificates';
|
||||
export * from './getCertificates';
|
||||
export * from './getAllCertificates';
|
||||
export * from './getSystemInfo';
|
||||
export * from './isValidSystemSetup';
|
||||
export * from './createXMLSignature';
|
||||
|
@ -3136,6 +3136,77 @@ exports.createXMLSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbpri
|
||||
}));
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./api/getAllCertificates.ts":
|
||||
/*!***********************************!*\
|
||||
!*** ./api/getAllCertificates.ts ***!
|
||||
\***********************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
const getAllUserCertificates_1 = __webpack_require__(/*! ./getAllUserCertificates */ "./api/getAllUserCertificates.ts");
|
||||
const getAllContainerCertificates_1 = __webpack_require__(/*! ./getAllContainerCertificates */ "./api/getAllContainerCertificates.ts");
|
||||
let certificatesCache;
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе, без фильтрации по дате и наличию приватного ключа
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
exports.getAllCertificates = _afterPluginsLoaded_1._afterPluginsLoaded((resetCache = false) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
if (!resetCache && certificatesCache) {
|
||||
return certificatesCache;
|
||||
}
|
||||
let availableCertificates;
|
||||
try {
|
||||
availableCertificates = yield getAllUserCertificates_1.getAllUserCertificates(resetCache);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
availableCertificates = [];
|
||||
}
|
||||
try {
|
||||
const containerAllCertificates = yield getAllContainerCertificates_1.getAllContainerCertificates(resetCache);
|
||||
if (!availableCertificates) {
|
||||
availableCertificates = containerAllCertificates;
|
||||
}
|
||||
else {
|
||||
let containerAllCertificatesCount = containerAllCertificates.length - 1;
|
||||
let foundAvailableCertificate;
|
||||
while (containerAllCertificatesCount) {
|
||||
foundAvailableCertificate = availableCertificates.find((cert) => cert.thumbprint === containerAllCertificates[containerAllCertificatesCount].thumbprint);
|
||||
if (!foundAvailableCertificate) {
|
||||
availableCertificates.push(containerAllCertificates[containerAllCertificatesCount]);
|
||||
}
|
||||
containerAllCertificatesCount--;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
if (!availableCertificates) {
|
||||
throw new Error('Нет доступных сертификатов');
|
||||
}
|
||||
certificatesCache = availableCertificates;
|
||||
return certificatesCache;
|
||||
}));
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./api/getAllContainerCertificates.ts":
|
||||
@ -3315,18 +3386,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
const getUserCertificates_1 = __webpack_require__(/*! ./getUserCertificates */ "./api/getUserCertificates.ts");
|
||||
const getCertificates_1 = __webpack_require__(/*! ./getCertificates */ "./api/getCertificates.ts");
|
||||
const getAllCertificates_1 = __webpack_require__(/*! ./getAllCertificates */ "./api/getAllCertificates.ts");
|
||||
/**
|
||||
* Возвращает сертификат по отпечатку
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @param validOnly - проверять сертификаты по дате и наличию приватного ключа
|
||||
* @returns сертификат
|
||||
*/
|
||||
exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, validOnly = true) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
if (!thumbprint) {
|
||||
throw new Error('Отпечаток не указан');
|
||||
}
|
||||
const availableCertificates = yield getUserCertificates_1.getUserCertificates();
|
||||
let availableCertificates;
|
||||
if (validOnly) {
|
||||
availableCertificates = yield getCertificates_1.getCertificates();
|
||||
}
|
||||
else {
|
||||
availableCertificates = yield getAllCertificates_1.getAllCertificates();
|
||||
}
|
||||
const foundCertificate = availableCertificates.find((cert) => cert.thumbprint === thumbprint);
|
||||
if (!foundCertificate) {
|
||||
throw new Error(`Сертификат с отпечатком: "${thumbprint}" не найден`);
|
||||
@ -3335,6 +3414,77 @@ exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint)
|
||||
}));
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./api/getCertificates.ts":
|
||||
/*!********************************!*\
|
||||
!*** ./api/getCertificates.ts ***!
|
||||
\********************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
const getUserCertificates_1 = __webpack_require__(/*! ./getUserCertificates */ "./api/getUserCertificates.ts");
|
||||
const getContainerCertificates_1 = __webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts");
|
||||
let certificatesCache;
|
||||
/**
|
||||
* Возвращает список сертификатов, доступных пользователю из пользовательского хранилища и закрытых ключей, не установленных в системе
|
||||
*
|
||||
* @param resetCache = false - позволяет сбросить кэш ранее полученных сертификатов
|
||||
* @returns список сертификатов
|
||||
*/
|
||||
exports.getCertificates = _afterPluginsLoaded_1._afterPluginsLoaded((resetCache = false) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
if (!resetCache && certificatesCache) {
|
||||
return certificatesCache;
|
||||
}
|
||||
let availableCertificates;
|
||||
try {
|
||||
availableCertificates = yield getUserCertificates_1.getUserCertificates(resetCache);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
availableCertificates = [];
|
||||
}
|
||||
try {
|
||||
const containerCertificates = yield getContainerCertificates_1.getContainerCertificates(resetCache);
|
||||
if (!availableCertificates) {
|
||||
availableCertificates = containerCertificates;
|
||||
}
|
||||
else {
|
||||
let containerCertificatesCount = containerCertificates.length - 1;
|
||||
let foundAvailableCertificate;
|
||||
while (containerCertificatesCount) {
|
||||
foundAvailableCertificate = availableCertificates.find((cert) => cert.thumbprint === containerCertificates[containerCertificatesCount].thumbprint);
|
||||
if (!foundAvailableCertificate) {
|
||||
availableCertificates.push(containerCertificates[containerCertificatesCount]);
|
||||
}
|
||||
containerCertificatesCount--;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
if (!availableCertificates) {
|
||||
throw new Error('Нет доступных сертификатов');
|
||||
}
|
||||
certificatesCache = availableCertificates;
|
||||
return certificatesCache;
|
||||
}));
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./api/getContainerCertificates.ts":
|
||||
@ -3661,6 +3811,8 @@ __export(__webpack_require__(/*! ./getUserCertificates */ "./api/getUserCertific
|
||||
__export(__webpack_require__(/*! ./getAllUserCertificates */ "./api/getAllUserCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getAllContainerCertificates */ "./api/getAllContainerCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getCertificates */ "./api/getCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getAllCertificates */ "./api/getAllCertificates.ts"));
|
||||
__export(__webpack_require__(/*! ./getSystemInfo */ "./api/getSystemInfo.ts"));
|
||||
__export(__webpack_require__(/*! ./isValidSystemSetup */ "./api/isValidSystemSetup.ts"));
|
||||
__export(__webpack_require__(/*! ./createXMLSignature */ "./api/createXMLSignature.ts"));
|
||||
@ -4203,17 +4355,136 @@ exports._generateCadesFn = (callback) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts");
|
||||
const _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts");
|
||||
const _getCadesUserCert_1 = __webpack_require__(/*! ./_getCadesUserCert */ "./helpers/_getCadesUserCert.ts");
|
||||
const _getCadesContainerCert_1 = __webpack_require__(/*! ./_getCadesContainerCert */ "./helpers/_getCadesContainerCert.ts");
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) => {
|
||||
exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
let cadesCertificate;
|
||||
try {
|
||||
cadesCertificate = yield _getCadesUserCert_1._getCadesUserCert(thumbprint);
|
||||
}
|
||||
catch (error) {
|
||||
console.log(error);
|
||||
cadesCertificate = yield _getCadesContainerCert_1._getCadesContainerCert(thumbprint);
|
||||
}
|
||||
return cadesCertificate;
|
||||
}));
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./helpers/_getCadesContainerCert.ts":
|
||||
/*!*******************************************!*\
|
||||
!*** ./helpers/_getCadesContainerCert.ts ***!
|
||||
\*******************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts");
|
||||
const _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts");
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища закрытого ключа
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
exports._getCadesContainerCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) => {
|
||||
const { cadesplugin } = window;
|
||||
return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() {
|
||||
let cadesStore;
|
||||
try {
|
||||
cadesStore = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.Store');
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при попытке доступа к хранилищу');
|
||||
}
|
||||
if (!cadesStore) {
|
||||
throw new Error('Не удалось получить доступ к хранилищу сертификатов');
|
||||
}
|
||||
try {
|
||||
void (_generateCadesFn_1.__cadesAsyncToken__ +
|
||||
cadesStore.Open(cadesplugin.CADESCOM_CONTAINER_STORE, cadesplugin.CAPICOM_MY_STORE, cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED));
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища закрытого ключа');
|
||||
}
|
||||
let cadesCertificateList;
|
||||
let certificatesCount;
|
||||
try {
|
||||
cadesCertificateList = _generateCadesFn_1.__cadesAsyncToken__ + cadesStore.Certificates;
|
||||
certificatesCount = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов из хранилища закрытого ключа');
|
||||
}
|
||||
if (!certificatesCount) {
|
||||
throw new Error('Нет доступных сертификатов в хранилище закрытого ключа');
|
||||
}
|
||||
let cadesCertificate;
|
||||
try {
|
||||
cadesCertificateList =
|
||||
_generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
|
||||
const count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;
|
||||
if (!count) {
|
||||
throw new Error(`Сертификат с отпечатком: "${thumbprint}" не найден в хранилище закрытого ключа`);
|
||||
}
|
||||
cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата из хранилища закрытого ключа');
|
||||
}
|
||||
cadesStore.Close();
|
||||
return cadesCertificate;
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./helpers/_getCadesUserCert.ts":
|
||||
/*!**************************************!*\
|
||||
!*** ./helpers/_getCadesUserCert.ts ***!
|
||||
\**************************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts");
|
||||
const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts");
|
||||
const _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts");
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища пользователя
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
exports._getCadesUserCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) => {
|
||||
const { cadesplugin } = window;
|
||||
return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() {
|
||||
let cadesStore;
|
||||
@ -4233,7 +4504,7 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) =
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища');
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища пользователя');
|
||||
}
|
||||
let cadesCertificateList;
|
||||
let certificatesCount;
|
||||
@ -4243,10 +4514,10 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) =
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов');
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов из хранилища пользователя');
|
||||
}
|
||||
if (!certificatesCount) {
|
||||
throw new Error('Нет доступных сертификатов');
|
||||
throw new Error('Нет доступных сертификатов в хранилище пользователя');
|
||||
}
|
||||
let cadesCertificate;
|
||||
try {
|
||||
@ -4254,13 +4525,13 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) =
|
||||
_generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint);
|
||||
const count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count;
|
||||
if (!count) {
|
||||
throw new Error(`Сертификат с отпечатком: "${thumbprint}" не найден`);
|
||||
throw new Error(`Сертификат с отпечатком: "${thumbprint}" не найден в хранилище пользователя`);
|
||||
}
|
||||
cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1);
|
||||
}
|
||||
catch (error) {
|
||||
console.error(error);
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата');
|
||||
throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата из хранилища пользователя');
|
||||
}
|
||||
cadesStore.Close();
|
||||
return cadesCertificate;
|
||||
@ -4412,6 +4683,7 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => {
|
||||
var isYandex = 0;
|
||||
var canPromise = !!window.Promise;
|
||||
var cadesplugin_loaded_event_recieved = false;
|
||||
var isFireFoxExtensionLoaded = false;
|
||||
var cadesplugin;
|
||||
|
||||
if(canPromise)
|
||||
@ -4635,6 +4907,14 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => {
|
||||
cadesplugin.XCN_CRYPT_STRING_BASE64HEADER = 0;
|
||||
cadesplugin.AT_KEYEXCHANGE = 1;
|
||||
cadesplugin.AT_SIGNATURE = 2;
|
||||
|
||||
cadesplugin.CARRIER_FLAG_REMOVABLE = 1;
|
||||
cadesplugin.CARRIER_FLAG_UNIQUE = 2;
|
||||
cadesplugin.CARRIER_FLAG_PROTECTED = 4;
|
||||
cadesplugin.CARRIER_FLAG_FUNCTIONAL_CARRIER = 8;
|
||||
cadesplugin.CARRIER_FLAG_SECURE_MESSAGING = 16;
|
||||
cadesplugin.CARRIER_FLAG_ABLE_VISUALISE_SIGNATURE = 64;
|
||||
cadesplugin.CARRIER_FLAG_VIRTUAL = 128;
|
||||
}
|
||||
|
||||
function async_spawn(generatorFunc) {
|
||||
@ -4881,10 +5161,17 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => {
|
||||
}
|
||||
}
|
||||
function firefox_or_safari_nmcades_onload() {
|
||||
if (window.cadesplugin_extension_loaded_callback)
|
||||
window.cadesplugin_extension_loaded_callback();
|
||||
isFireFoxExtensionLoaded = true;
|
||||
cpcsp_chrome_nmcades.check_chrome_plugin(plugin_loaded, plugin_loaded_error);
|
||||
}
|
||||
|
||||
function nmcades_api_onload () {
|
||||
function nmcades_api_onload() {
|
||||
if (!isIE() && !isFireFox && !isSafari) {
|
||||
if (window.cadesplugin_extension_loaded_callback)
|
||||
window.cadesplugin_extension_loaded_callback();
|
||||
}
|
||||
window.postMessage("cadesplugin_echo_request", "*");
|
||||
window.addEventListener("message", function (event){
|
||||
if (typeof(event.data) !== "string" || !event.data.match("cadesplugin_loaded"))
|
||||
@ -4999,6 +5286,7 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => {
|
||||
return;
|
||||
if(isFireFox)
|
||||
{
|
||||
if (!isFireFoxExtensionLoaded)
|
||||
show_firefox_missing_extension_dialog();
|
||||
}
|
||||
plugin_resolved = 1;
|
||||
@ -5091,7 +5379,7 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => {
|
||||
};
|
||||
|
||||
//Export
|
||||
cadesplugin.JSModuleVersion = "2.3.1";
|
||||
cadesplugin.JSModuleVersion = "2.3.2";
|
||||
cadesplugin.async_spawn = async_spawn;
|
||||
cadesplugin.set = set_pluginObject;
|
||||
cadesplugin.set_log_level = set_log_level;
|
||||
|
File diff suppressed because one or more lines are too long
7
lib/helpers/_getCadesContainerCert.d.ts
vendored
Normal file
7
lib/helpers/_getCadesContainerCert.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища закрытого ключа
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
export declare const _getCadesContainerCert: (thumbprint: string) => Promise<any>;
|
7
lib/helpers/_getCadesUserCert.d.ts
vendored
Normal file
7
lib/helpers/_getCadesUserCert.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Возвращает сертификат в формате Cades по отпечатку из хранилища пользователя
|
||||
*
|
||||
* @param thumbprint - отпечаток сертификата
|
||||
* @returns сертификат в формате Cades
|
||||
*/
|
||||
export declare const _getCadesUserCert: (thumbprint: string) => Promise<any>;
|
Loading…
Reference in New Issue
Block a user