mirror of
				https://github.com/crypto-pro-web/crypto-pro-js.git
				synced 2025-10-31 22:33:21 +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 thumbprint - отпечаток сертификата | ||||||
|  |  * @param validOnly - проверять сертификаты по дате и наличию приватного ключа | ||||||
|  * @returns сертификат |  * @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 './getAllUserCertificates'; | ||||||
| export * from './getContainerCertificates'; | export * from './getContainerCertificates'; | ||||||
| export * from './getAllContainerCertificates'; | export * from './getAllContainerCertificates'; | ||||||
|  | export * from './getCertificates'; | ||||||
|  | export * from './getAllCertificates'; | ||||||
| export * from './getSystemInfo'; | export * from './getSystemInfo'; | ||||||
| export * from './isValidSystemSetup'; | export * from './isValidSystemSetup'; | ||||||
| export * from './createXMLSignature'; | export * from './createXMLSignature'; | ||||||
|  | |||||||
							
								
								
									
										445
									
								
								dist/crypto-pro-js.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										445
									
								
								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": | /***/ "./api/getAllContainerCertificates.ts": | ||||||
| @ -3665,14 +3781,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| var _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts"); | 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 thumbprint - отпечаток сертификата | ||||||
|  |  * @param validOnly - проверять сертификаты по дате и наличию приватного ключа | ||||||
|  * @returns сертификат |  * @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; |         var availableCertificates, foundCertificate; | ||||||
|         return __generator(this, function (_a) { |         return __generator(this, function (_a) { | ||||||
|             switch (_a.label) { |             switch (_a.label) { | ||||||
| @ -3680,9 +3800,16 @@ exports.getCertificate = _afterPluginsLoaded_1._afterPluginsLoaded(function (thu | |||||||
|                     if (!thumbprint) { |                     if (!thumbprint) { | ||||||
|                         throw new Error('Отпечаток не указан'); |                         throw new Error('Отпечаток не указан'); | ||||||
|                     } |                     } | ||||||
|                 return [4 /*yield*/, getUserCertificates_1.getUserCertificates()]; |                     if (!validOnly) return [3 /*break*/, 2]; | ||||||
|  |                     return [4 /*yield*/, getCertificates_1.getCertificates()]; | ||||||
|                 case 1: |                 case 1: | ||||||
|                     availableCertificates = _a.sent(); |                     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; }); |                     foundCertificate = availableCertificates.find(function (cert) { return cert.thumbprint === thumbprint; }); | ||||||
|                     if (!foundCertificate) { |                     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"); |                         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]; |                     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__(/*! ./getAllUserCertificates */ "./api/getAllUserCertificates.ts")); | ||||||
| __export(__webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts")); | __export(__webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts")); | ||||||
| __export(__webpack_require__(/*! ./getAllContainerCertificates */ "./api/getAllContainerCertificates.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__(/*! ./getSystemInfo */ "./api/getSystemInfo.ts")); | ||||||
| __export(__webpack_require__(/*! ./isValidSystemSetup */ "./api/isValidSystemSetup.ts")); | __export(__webpack_require__(/*! ./isValidSystemSetup */ "./api/isValidSystemSetup.ts")); | ||||||
| __export(__webpack_require__(/*! ./createXMLSignature */ "./api/createXMLSignature.ts")); | __export(__webpack_require__(/*! ./createXMLSignature */ "./api/createXMLSignature.ts")); | ||||||
| @ -4646,17 +4892,173 @@ exports._generateCadesFn = function (callback) { | |||||||
| 
 | 
 | ||||||
| "use strict"; | "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 }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| var _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts"); | var _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts"); | ||||||
| var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts"); | var _getCadesUserCert_1 = __webpack_require__(/*! ./_getCadesUserCert */ "./helpers/_getCadesUserCert.ts"); | ||||||
| var _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | var _getCadesContainerCert_1 = __webpack_require__(/*! ./_getCadesContainerCert */ "./helpers/_getCadesContainerCert.ts"); | ||||||
| /** | /** | ||||||
|  * Возвращает сертификат в формате Cades по отпечатку |  * Возвращает сертификат в формате Cades по отпечатку | ||||||
|  * |  * | ||||||
|  * @param thumbprint - отпечаток сертификата |  * @param thumbprint - отпечаток сертификата | ||||||
|  * @returns сертификат в формате Cades |  * @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; |     var cadesplugin = window.cadesplugin; | ||||||
|     return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() { |     return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() { | ||||||
|         var cadesStore; |         var cadesStore; | ||||||
| @ -4676,7 +5078,7 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thum | |||||||
|         } |         } | ||||||
|         catch (error) { |         catch (error) { | ||||||
|             console.error(error); |             console.error(error); | ||||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища'); |             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища пользователя'); | ||||||
|         } |         } | ||||||
|         var cadesCertificateList; |         var cadesCertificateList; | ||||||
|         var certificatesCount; |         var certificatesCount; | ||||||
| @ -4686,10 +5088,10 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thum | |||||||
|         } |         } | ||||||
|         catch (error) { |         catch (error) { | ||||||
|             console.error(error); |             console.error(error); | ||||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов'); |             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов из хранилища пользователя'); | ||||||
|         } |         } | ||||||
|         if (!certificatesCount) { |         if (!certificatesCount) { | ||||||
|             throw new Error('Нет доступных сертификатов'); |             throw new Error('Нет доступных сертификатов в хранилище пользователя'); | ||||||
|         } |         } | ||||||
|         var cadesCertificate; |         var cadesCertificate; | ||||||
|         try { |         try { | ||||||
| @ -4697,13 +5099,13 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded(function (thum | |||||||
|                 _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint); |                 _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint); | ||||||
|             var count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count; |             var count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count; | ||||||
|             if (!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); |             cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1); | ||||||
|         } |         } | ||||||
|         catch (error) { |         catch (error) { | ||||||
|             console.error(error); |             console.error(error); | ||||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата'); |             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата из хранилища пользователя'); | ||||||
|         } |         } | ||||||
|         cadesStore.Close(); |         cadesStore.Close(); | ||||||
|         return cadesCertificate; |         return cadesCertificate; | ||||||
| @ -4855,6 +5257,7 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) { | |||||||
|   var isYandex = 0; |   var isYandex = 0; | ||||||
|   var canPromise = !!window.Promise; |   var canPromise = !!window.Promise; | ||||||
|   var cadesplugin_loaded_event_recieved = false; |   var cadesplugin_loaded_event_recieved = false; | ||||||
|  |   var isFireFoxExtensionLoaded = false; | ||||||
|   var cadesplugin; |   var cadesplugin; | ||||||
| 
 | 
 | ||||||
|   if(canPromise) |   if(canPromise) | ||||||
| @ -5078,6 +5481,14 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) { | |||||||
|     cadesplugin.XCN_CRYPT_STRING_BASE64HEADER = 0; |     cadesplugin.XCN_CRYPT_STRING_BASE64HEADER = 0; | ||||||
|     cadesplugin.AT_KEYEXCHANGE = 1; |     cadesplugin.AT_KEYEXCHANGE = 1; | ||||||
|     cadesplugin.AT_SIGNATURE = 2; |     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) { |   function async_spawn(generatorFunc) { | ||||||
| @ -5324,10 +5735,17 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   function firefox_or_safari_nmcades_onload() { |   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); |     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.postMessage("cadesplugin_echo_request", "*"); | ||||||
|     window.addEventListener("message", function (event){ |     window.addEventListener("message", function (event){ | ||||||
|       if (typeof(event.data) !== "string" || !event.data.match("cadesplugin_loaded")) |       if (typeof(event.data) !== "string" || !event.data.match("cadesplugin_loaded")) | ||||||
| @ -5442,6 +5860,7 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) { | |||||||
|       return; |       return; | ||||||
|     if(isFireFox) |     if(isFireFox) | ||||||
|     { |     { | ||||||
|  |       if (!isFireFoxExtensionLoaded) | ||||||
|         show_firefox_missing_extension_dialog(); |         show_firefox_missing_extension_dialog(); | ||||||
|     } |     } | ||||||
|     plugin_resolved = 1; |     plugin_resolved = 1; | ||||||
| @ -5534,7 +5953,7 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) { | |||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   //Export
 |   //Export
 | ||||||
|   cadesplugin.JSModuleVersion = "2.3.1"; |   cadesplugin.JSModuleVersion = "2.3.2"; | ||||||
|   cadesplugin.async_spawn = async_spawn; |   cadesplugin.async_spawn = async_spawn; | ||||||
|   cadesplugin.set = set_pluginObject; |   cadesplugin.set = set_pluginObject; | ||||||
|   cadesplugin.set_log_level = set_log_level; |   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 thumbprint - отпечаток сертификата | ||||||
|  |  * @param validOnly - проверять сертификаты по дате и наличию приватного ключа | ||||||
|  * @returns сертификат |  * @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 './getAllUserCertificates'; | ||||||
| export * from './getContainerCertificates'; | export * from './getContainerCertificates'; | ||||||
| export * from './getAllContainerCertificates'; | export * from './getAllContainerCertificates'; | ||||||
|  | export * from './getCertificates'; | ||||||
|  | export * from './getAllCertificates'; | ||||||
| export * from './getSystemInfo'; | export * from './getSystemInfo'; | ||||||
| export * from './isValidSystemSetup'; | export * from './isValidSystemSetup'; | ||||||
| export * from './createXMLSignature'; | 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": | /***/ "./api/getAllContainerCertificates.ts": | ||||||
| @ -3315,18 +3386,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const _afterPluginsLoaded_1 = __webpack_require__(/*! ../helpers/_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts"); | 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 thumbprint - отпечаток сертификата | ||||||
|  |  * @param validOnly - проверять сертификаты по дате и наличию приватного ключа | ||||||
|  * @returns сертификат |  * @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) { |     if (!thumbprint) { | ||||||
|         throw new Error('Отпечаток не указан'); |         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); |     const foundCertificate = availableCertificates.find((cert) => cert.thumbprint === thumbprint); | ||||||
|     if (!foundCertificate) { |     if (!foundCertificate) { | ||||||
|         throw new Error(`Сертификат с отпечатком: "${thumbprint}" не найден`); |         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": | /***/ "./api/getContainerCertificates.ts": | ||||||
| @ -3661,6 +3811,8 @@ __export(__webpack_require__(/*! ./getUserCertificates */ "./api/getUserCertific | |||||||
| __export(__webpack_require__(/*! ./getAllUserCertificates */ "./api/getAllUserCertificates.ts")); | __export(__webpack_require__(/*! ./getAllUserCertificates */ "./api/getAllUserCertificates.ts")); | ||||||
| __export(__webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts")); | __export(__webpack_require__(/*! ./getContainerCertificates */ "./api/getContainerCertificates.ts")); | ||||||
| __export(__webpack_require__(/*! ./getAllContainerCertificates */ "./api/getAllContainerCertificates.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__(/*! ./getSystemInfo */ "./api/getSystemInfo.ts")); | ||||||
| __export(__webpack_require__(/*! ./isValidSystemSetup */ "./api/isValidSystemSetup.ts")); | __export(__webpack_require__(/*! ./isValidSystemSetup */ "./api/isValidSystemSetup.ts")); | ||||||
| __export(__webpack_require__(/*! ./createXMLSignature */ "./api/createXMLSignature.ts")); | __export(__webpack_require__(/*! ./createXMLSignature */ "./api/createXMLSignature.ts")); | ||||||
| @ -4203,17 +4355,136 @@ exports._generateCadesFn = (callback) => { | |||||||
| 
 | 
 | ||||||
| "use strict"; | "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 }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts"); | const _afterPluginsLoaded_1 = __webpack_require__(/*! ./_afterPluginsLoaded */ "./helpers/_afterPluginsLoaded.ts"); | ||||||
| const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ./_extractMeaningfulErrorMessage */ "./helpers/_extractMeaningfulErrorMessage.ts"); | const _getCadesUserCert_1 = __webpack_require__(/*! ./_getCadesUserCert */ "./helpers/_getCadesUserCert.ts"); | ||||||
| const _generateCadesFn_1 = __webpack_require__(/*! ./_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | const _getCadesContainerCert_1 = __webpack_require__(/*! ./_getCadesContainerCert */ "./helpers/_getCadesContainerCert.ts"); | ||||||
| /** | /** | ||||||
|  * Возвращает сертификат в формате Cades по отпечатку |  * Возвращает сертификат в формате Cades по отпечатку | ||||||
|  * |  * | ||||||
|  * @param thumbprint - отпечаток сертификата |  * @param thumbprint - отпечаток сертификата | ||||||
|  * @returns сертификат в формате Cades |  * @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; |     const { cadesplugin } = window; | ||||||
|     return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() { |     return eval(_generateCadesFn_1._generateCadesFn(function _getCadesCert() { | ||||||
|         let cadesStore; |         let cadesStore; | ||||||
| @ -4233,7 +4504,7 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) = | |||||||
|         } |         } | ||||||
|         catch (error) { |         catch (error) { | ||||||
|             console.error(error); |             console.error(error); | ||||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища'); |             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при открытии хранилища пользователя'); | ||||||
|         } |         } | ||||||
|         let cadesCertificateList; |         let cadesCertificateList; | ||||||
|         let certificatesCount; |         let certificatesCount; | ||||||
| @ -4243,10 +4514,10 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) = | |||||||
|         } |         } | ||||||
|         catch (error) { |         catch (error) { | ||||||
|             console.error(error); |             console.error(error); | ||||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов'); |             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка получения списка сертификатов из хранилища пользователя'); | ||||||
|         } |         } | ||||||
|         if (!certificatesCount) { |         if (!certificatesCount) { | ||||||
|             throw new Error('Нет доступных сертификатов'); |             throw new Error('Нет доступных сертификатов в хранилище пользователя'); | ||||||
|         } |         } | ||||||
|         let cadesCertificate; |         let cadesCertificate; | ||||||
|         try { |         try { | ||||||
| @ -4254,13 +4525,13 @@ exports._getCadesCert = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint) = | |||||||
|                 _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint); |                 _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint); | ||||||
|             const count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count; |             const count = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Count; | ||||||
|             if (!count) { |             if (!count) { | ||||||
|                 throw new Error(`Сертификат с отпечатком: "${thumbprint}" не найден`); |                 throw new Error(`Сертификат с отпечатком: "${thumbprint}" не найден в хранилище пользователя`); | ||||||
|             } |             } | ||||||
|             cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1); |             cadesCertificate = _generateCadesFn_1.__cadesAsyncToken__ + cadesCertificateList.Item(1); | ||||||
|         } |         } | ||||||
|         catch (error) { |         catch (error) { | ||||||
|             console.error(error); |             console.error(error); | ||||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата'); |             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при получении сертификата из хранилища пользователя'); | ||||||
|         } |         } | ||||||
|         cadesStore.Close(); |         cadesStore.Close(); | ||||||
|         return cadesCertificate; |         return cadesCertificate; | ||||||
| @ -4412,6 +4683,7 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => { | |||||||
|   var isYandex = 0; |   var isYandex = 0; | ||||||
|   var canPromise = !!window.Promise; |   var canPromise = !!window.Promise; | ||||||
|   var cadesplugin_loaded_event_recieved = false; |   var cadesplugin_loaded_event_recieved = false; | ||||||
|  |   var isFireFoxExtensionLoaded = false; | ||||||
|   var cadesplugin; |   var cadesplugin; | ||||||
| 
 | 
 | ||||||
|   if(canPromise) |   if(canPromise) | ||||||
| @ -4635,6 +4907,14 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => { | |||||||
|     cadesplugin.XCN_CRYPT_STRING_BASE64HEADER = 0; |     cadesplugin.XCN_CRYPT_STRING_BASE64HEADER = 0; | ||||||
|     cadesplugin.AT_KEYEXCHANGE = 1; |     cadesplugin.AT_KEYEXCHANGE = 1; | ||||||
|     cadesplugin.AT_SIGNATURE = 2; |     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) { |   function async_spawn(generatorFunc) { | ||||||
| @ -4881,10 +5161,17 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   function firefox_or_safari_nmcades_onload() { |   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); |     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.postMessage("cadesplugin_echo_request", "*"); | ||||||
|     window.addEventListener("message", function (event){ |     window.addEventListener("message", function (event){ | ||||||
|       if (typeof(event.data) !== "string" || !event.data.match("cadesplugin_loaded")) |       if (typeof(event.data) !== "string" || !event.data.match("cadesplugin_loaded")) | ||||||
| @ -4999,6 +5286,7 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => { | |||||||
|       return; |       return; | ||||||
|     if(isFireFox) |     if(isFireFox) | ||||||
|     { |     { | ||||||
|  |       if (!isFireFoxExtensionLoaded) | ||||||
|         show_firefox_missing_extension_dialog(); |         show_firefox_missing_extension_dialog(); | ||||||
|     } |     } | ||||||
|     plugin_resolved = 1; |     plugin_resolved = 1; | ||||||
| @ -5091,7 +5379,7 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => { | |||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   //Export
 |   //Export
 | ||||||
|   cadesplugin.JSModuleVersion = "2.3.1"; |   cadesplugin.JSModuleVersion = "2.3.2"; | ||||||
|   cadesplugin.async_spawn = async_spawn; |   cadesplugin.async_spawn = async_spawn; | ||||||
|   cadesplugin.set = set_pluginObject; |   cadesplugin.set = set_pluginObject; | ||||||
|   cadesplugin.set_log_level = set_log_level; |   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