mirror of
				https://github.com/crypto-pro-web/crypto-pro-js.git
				synced 2025-10-31 06:13:22 +03:00 
			
		
		
		
	refactor
This commit is contained in:
		
							parent
							
								
									c661a8e144
								
							
						
					
					
						commit
						a287a7af80
					
				| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
| Асинхронный JavaScript API для работы с КриптоПРО ЭЦП Browser Plug-In | ||||
| 
 | ||||
| > **Является форком [crypto-pro-web/crypto-pro-js-pro](https://github.com/crypto-pro-web/crypto-pro-js)** | ||||
| > **Является форком [crypto-pro-web/crypto-pro-js](https://github.com/crypto-pro-web/crypto-pro-js)** | ||||
| 
 | ||||
| ## Отличия от оригинальной библиотеки: | ||||
| 
 | ||||
| @ -14,7 +14,7 @@ | ||||
| 
 | ||||
| ### Версионность | ||||
| 
 | ||||
| Пакет основан на версии 2.3.3 пакета [crypto-pro-web/crypto-pro-js-pro](https://github.com/crypto-pro-web/crypto-pro-js) | ||||
| Пакет основан на версии 2.3.3 пакета [crypto-pro-web/crypto-pro-js](https://github.com/crypto-pro-web/crypto-pro-js) | ||||
| 
 | ||||
| 
 | ||||
| <a name="lisense"></a> | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| { | ||||
|   "name": "crypto-pro-js", | ||||
|   "name": "crypto-pro-js-m", | ||||
|   "description": "Асинхронный JavaScript API для работы с КриптоПРО ЭЦП Browser Plug-In. Forked from https://github.com/vgoma/crypto-pro", | ||||
|   "main": "./lib/crypto-pro-js.js", | ||||
|   "main": "./lib/crypto-pro-js-m.js", | ||||
|   "authors": [ | ||||
|     "kern.usr <kern.usr@gmail.com>", | ||||
|     "vgoma <vgoma@yandex.ru>" | ||||
|  | ||||
							
								
								
									
										6
									
								
								dist/api/addAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/api/addAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,8 +1,10 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Добавляет присоединенную подпись к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const addAttachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer) => Promise<string>; | ||||
| export declare const addAttachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										6
									
								
								dist/api/addDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/api/addDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,9 +1,11 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Добавляет отсоединенную подпись хеша к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const addDetachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer, messageHash: string) => Promise<string>; | ||||
| export declare const addDetachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer, messageHash: string, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										6
									
								
								dist/api/createAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/api/createAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,8 +1,10 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Создает присоединенную подпись сообщения по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param message - подписываемое сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const createAttachedSignature: (thumbprint: string, unencryptedMessage: string | ArrayBuffer) => Promise<string>; | ||||
| export declare const createAttachedSignature: (thumbprint: string, unencryptedMessage: string | ArrayBuffer, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										6
									
								
								dist/api/createDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								dist/api/createDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,8 +1,10 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Создает отсоединенную подпись хеша по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const createDetachedSignature: (thumbprint: string, messageHash: string) => Promise<string>; | ||||
| export declare const createDetachedSignature: (thumbprint: string, messageHash: string, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										7
									
								
								dist/crypto-pro-js-m.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								dist/crypto-pro-js-m.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| // Type definitions for crypto-pro-js-m 0.1.3
 | ||||
| // Project: crypto-pro-js-m
 | ||||
| // Definitions by: Serge Schekhovtsov https://github.com/schekhovtsov
 | ||||
| 
 | ||||
| export as namespace cryptoPro; | ||||
| 
 | ||||
| export * from './api'; | ||||
							
								
								
									
										600
									
								
								dist/crypto-pro-js.js → dist/crypto-pro-js-m.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										600
									
								
								dist/crypto-pro-js.js → dist/crypto-pro-js-m.js
									
									
									
									
										vendored
									
									
								
							| @ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||||
| /******/ | ||||
| /******/ | ||||
| /******/ 	// Load entry module and return exports
 | ||||
| /******/ 	return __webpack_require__(__webpack_require__.s = "./crypto-pro-js.ts"); | ||||
| /******/ 	return __webpack_require__(__webpack_require__.s = "./crypto-pro-js-m.ts"); | ||||
| /******/ }) | ||||
| /************************************************************************/ | ||||
| /******/ ({ | ||||
| @ -2256,79 +2256,85 @@ var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extra | ||||
| var _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| var _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| var _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| var getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Добавляет присоединенную подпись к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.addAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, signedMessage) { return __awaiter(void 0, void 0, void 0, function () { | ||||
|     var cadesplugin, cadesCertificate; | ||||
|     return __generator(this, function (_a) { | ||||
|         switch (_a.label) { | ||||
|             case 0: | ||||
|                 cadesplugin = window.cadesplugin; | ||||
|                 return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|             case 1: | ||||
|                 cadesCertificate = _a.sent(); | ||||
|                 return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function addAttachedSignature() { | ||||
|                         var cadesAttrs; | ||||
|                         var cadesSignedData; | ||||
|                         var cadesSigner; | ||||
|                         try { | ||||
|                             cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                             cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                             cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                         } | ||||
|                         var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                         } | ||||
|                         var messageBase64; | ||||
|                         try { | ||||
|                             messageBase64 = Buffer.from(signedMessage).toString('base64'); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error('Ошибка при преобразовании сообщения в Base64'); | ||||
|                         } | ||||
|                         var cadesAuthAttrs; | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                             cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_Content(messageBase64)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи'); | ||||
|                         } | ||||
|                         var signature; | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.VerifyCades(signedMessage, cadesplugin.CADESCOM_PKCS7_TYPE)); | ||||
|                             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.CoSignCades(cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                         } | ||||
|                         return signature; | ||||
|                     }))]; | ||||
|         } | ||||
| exports.addAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, signedMessage, signType) { | ||||
|     if (signType === void 0) { signType = 'PKCS7'; } | ||||
|     return __awaiter(void 0, void 0, void 0, function () { | ||||
|         var cadesplugin, cadesCertificate; | ||||
|         return __generator(this, function (_a) { | ||||
|             switch (_a.label) { | ||||
|                 case 0: | ||||
|                     cadesplugin = window.cadesplugin; | ||||
|                     return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|                 case 1: | ||||
|                     cadesCertificate = _a.sent(); | ||||
|                     return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function addAttachedSignature() { | ||||
|                             var cadesAttrs; | ||||
|                             var cadesSignedData; | ||||
|                             var cadesSigner; | ||||
|                             try { | ||||
|                                 cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                                 cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                                 cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                             } | ||||
|                             var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                             } | ||||
|                             var messageBase64; | ||||
|                             try { | ||||
|                                 messageBase64 = Buffer.from(signedMessage).toString('base64'); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error('Ошибка при преобразовании сообщения в Base64'); | ||||
|                             } | ||||
|                             var cadesAuthAttrs; | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                                 cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_Content(messageBase64)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи'); | ||||
|                             } | ||||
|                             var signature; | ||||
|                             var signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.VerifyCades(signedMessage, signTypeConst)); | ||||
|                                 signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.CoSignCades(cadesSigner, signTypeConst); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                             } | ||||
|                             return signature; | ||||
|                         }))]; | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
| }); }); | ||||
| }); | ||||
| 
 | ||||
| /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/buffer/index.js */ "../node_modules/buffer/index.js").Buffer)) | ||||
| 
 | ||||
| @ -2387,84 +2393,87 @@ var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extra | ||||
| var _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| var _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| var _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| var getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Добавляет отсоединенную подпись хеша к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.addDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, signedMessage, messageHash) { return __awaiter(void 0, void 0, void 0, function () { | ||||
|     var cadesplugin, cadesCertificate; | ||||
|     return __generator(this, function (_a) { | ||||
|         switch (_a.label) { | ||||
|             case 0: | ||||
|                 cadesplugin = window.cadesplugin; | ||||
|                 return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|             case 1: | ||||
|                 cadesCertificate = _a.sent(); | ||||
|                 return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function addDetachedSignature() { | ||||
|                         var cadesAttrs; | ||||
|                         var cadesHashedData; | ||||
|                         var cadesSignedData; | ||||
|                         var cadesSigner; | ||||
|                         try { | ||||
|                             cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                             cadesHashedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.HashedData'); | ||||
|                             cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                             cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                         } | ||||
|                         var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                         } | ||||
|                         var cadesAuthAttrs; | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                             cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке сертификата'); | ||||
|                         } | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                                 cadesHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.SetHashValue(messageHash)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке хеша'); | ||||
|                         } | ||||
|                         var signature; | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                                 cadesSignedData.VerifyHash(cadesHashedData, signedMessage, cadesplugin.CADESCOM_PKCS7_TYPE)); | ||||
|                             signature = | ||||
|                                 _generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                                     cadesSignedData.CoSignHash(cadesHashedData, cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                         } | ||||
|                         return signature; | ||||
|                     }))]; | ||||
|         } | ||||
| exports.addDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, signedMessage, messageHash, signType) { | ||||
|     if (signType === void 0) { signType = 'PKCS7'; } | ||||
|     return __awaiter(void 0, void 0, void 0, function () { | ||||
|         var cadesplugin, cadesCertificate; | ||||
|         return __generator(this, function (_a) { | ||||
|             switch (_a.label) { | ||||
|                 case 0: | ||||
|                     cadesplugin = window.cadesplugin; | ||||
|                     return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|                 case 1: | ||||
|                     cadesCertificate = _a.sent(); | ||||
|                     return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function addDetachedSignature() { | ||||
|                             var cadesAttrs; | ||||
|                             var cadesHashedData; | ||||
|                             var cadesSignedData; | ||||
|                             var cadesSigner; | ||||
|                             try { | ||||
|                                 cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                                 cadesHashedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.HashedData'); | ||||
|                                 cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                                 cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                             } | ||||
|                             var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                             } | ||||
|                             var cadesAuthAttrs; | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                                 cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке сертификата'); | ||||
|                             } | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                                     cadesHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.SetHashValue(messageHash)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке хеша'); | ||||
|                             } | ||||
|                             var signature; | ||||
|                             var signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.VerifyHash(cadesHashedData, signedMessage, signTypeConst)); | ||||
|                                 signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.CoSignHash(cadesHashedData, cadesSigner, signTypeConst); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                             } | ||||
|                             return signature; | ||||
|                         }))]; | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
| }); }); | ||||
| }); | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -3063,78 +3072,84 @@ var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extra | ||||
| var _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| var _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| var _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| var getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Создает присоединенную подпись сообщения по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param message - подписываемое сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.createAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, unencryptedMessage) { return __awaiter(void 0, void 0, void 0, function () { | ||||
|     var cadesplugin, cadesCertificate; | ||||
|     return __generator(this, function (_a) { | ||||
|         switch (_a.label) { | ||||
|             case 0: | ||||
|                 cadesplugin = window.cadesplugin; | ||||
|                 return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|             case 1: | ||||
|                 cadesCertificate = _a.sent(); | ||||
|                 return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function createAttachedSignature() { | ||||
|                         var cadesAttrs; | ||||
|                         var cadesSignedData; | ||||
|                         var cadesSigner; | ||||
|                         try { | ||||
|                             cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                             cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                             cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                         } | ||||
|                         var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                         } | ||||
|                         var messageBase64; | ||||
|                         try { | ||||
|                             messageBase64 = Buffer.from(unencryptedMessage).toString('base64'); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error('Ошибка при преобразовании сообщения в Base64'); | ||||
|                         } | ||||
|                         var cadesAuthAttrs; | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                             cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_Content(messageBase64)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи'); | ||||
|                         } | ||||
|                         var signature; | ||||
|                         try { | ||||
|                             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.SignCades(cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                         } | ||||
|                         return signature; | ||||
|                     }))]; | ||||
|         } | ||||
| exports.createAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, unencryptedMessage, signType) { | ||||
|     if (signType === void 0) { signType = 'PKCS7'; } | ||||
|     return __awaiter(void 0, void 0, void 0, function () { | ||||
|         var cadesplugin, cadesCertificate; | ||||
|         return __generator(this, function (_a) { | ||||
|             switch (_a.label) { | ||||
|                 case 0: | ||||
|                     cadesplugin = window.cadesplugin; | ||||
|                     return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|                 case 1: | ||||
|                     cadesCertificate = _a.sent(); | ||||
|                     return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function createAttachedSignature() { | ||||
|                             var cadesAttrs; | ||||
|                             var cadesSignedData; | ||||
|                             var cadesSigner; | ||||
|                             try { | ||||
|                                 cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                                 cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                                 cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                             } | ||||
|                             var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                             } | ||||
|                             var messageBase64; | ||||
|                             try { | ||||
|                                 messageBase64 = Buffer.from(unencryptedMessage).toString('base64'); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error('Ошибка при преобразовании сообщения в Base64'); | ||||
|                             } | ||||
|                             var cadesAuthAttrs; | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                                 cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.propset_Content(messageBase64)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи'); | ||||
|                             } | ||||
|                             var signature; | ||||
|                             var signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|                             try { | ||||
|                                 signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.SignCades(cadesSigner, signTypeConst); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                             } | ||||
|                             return signature; | ||||
|                         }))]; | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
| }); }); | ||||
| }); | ||||
| 
 | ||||
| /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/buffer/index.js */ "../node_modules/buffer/index.js").Buffer)) | ||||
| 
 | ||||
| @ -3193,81 +3208,85 @@ var _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_extra | ||||
| var _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| var _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| var _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| var getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Создает отсоединенную подпись хеша по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.createDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, messageHash) { return __awaiter(void 0, void 0, void 0, function () { | ||||
|     var cadesplugin, cadesCertificate; | ||||
|     return __generator(this, function (_a) { | ||||
|         switch (_a.label) { | ||||
|             case 0: | ||||
|                 cadesplugin = window.cadesplugin; | ||||
|                 return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|             case 1: | ||||
|                 cadesCertificate = _a.sent(); | ||||
|                 return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function createDetachedSignature() { | ||||
|                         var cadesAttrs; | ||||
|                         var cadesHashedData; | ||||
|                         var cadesSignedData; | ||||
|                         var cadesSigner; | ||||
|                         try { | ||||
|                             cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                             cadesHashedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.HashedData'); | ||||
|                             cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                             cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                         } | ||||
|                         var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                         } | ||||
|                         var cadesAuthAttrs; | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                             cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке сертификата'); | ||||
|                         } | ||||
|                         try { | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                                 cadesHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256)); | ||||
|                             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.SetHashValue(messageHash)); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке хеша'); | ||||
|                         } | ||||
|                         var signature; | ||||
|                         try { | ||||
|                             signature = | ||||
|                                 _generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                                     cadesSignedData.SignHash(cadesHashedData, cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|                         } | ||||
|                         catch (error) { | ||||
|                             console.error(error); | ||||
|                             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                         } | ||||
|                         return signature; | ||||
|                     }))]; | ||||
|         } | ||||
| exports.createDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded(function (thumbprint, messageHash, signType) { | ||||
|     if (signType === void 0) { signType = 'PKCS7'; } | ||||
|     return __awaiter(void 0, void 0, void 0, function () { | ||||
|         var cadesplugin, cadesCertificate; | ||||
|         return __generator(this, function (_a) { | ||||
|             switch (_a.label) { | ||||
|                 case 0: | ||||
|                     cadesplugin = window.cadesplugin; | ||||
|                     return [4 /*yield*/, _getCadesCert_1._getCadesCert(thumbprint)]; | ||||
|                 case 1: | ||||
|                     cadesCertificate = _a.sent(); | ||||
|                     return [2 /*return*/, eval(_generateCadesFn_1._generateCadesFn(function createDetachedSignature() { | ||||
|                             var cadesAttrs; | ||||
|                             var cadesHashedData; | ||||
|                             var cadesSignedData; | ||||
|                             var cadesSigner; | ||||
|                             try { | ||||
|                                 cadesAttrs = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CADESCOM.CPAttribute'); | ||||
|                                 cadesHashedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.HashedData'); | ||||
|                                 cadesSignedData = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CadesSignedData'); | ||||
|                                 cadesSigner = _generateCadesFn_1.__cadesAsyncToken__ + _generateCadesFn_1.__createCadesPluginObject__('CAdESCOM.CPSigner'); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при инициализации подписи'); | ||||
|                             } | ||||
|                             var currentTime = _getDateObj_1._getDateObj(new Date()); | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Name(constants_1.CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAttrs.propset_Value(currentTime)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке времени подписи'); | ||||
|                             } | ||||
|                             var cadesAuthAttrs; | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Certificate(cadesCertificate)); | ||||
|                                 cadesAuthAttrs = _generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.AuthenticatedAttributes2; | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesAuthAttrs.Add(cadesAttrs)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке сертификата'); | ||||
|                             } | ||||
|                             try { | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                                     cadesHashedData.propset_Algorithm(cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256)); | ||||
|                                 void (_generateCadesFn_1.__cadesAsyncToken__ + cadesHashedData.SetHashValue(messageHash)); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке хеша'); | ||||
|                             } | ||||
|                             var signature; | ||||
|                             var signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|                             try { | ||||
|                                 signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.SignHash(cadesHashedData, cadesSigner, signTypeConst); | ||||
|                             } | ||||
|                             catch (error) { | ||||
|                                 console.error(error); | ||||
|                                 throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при подписании данных'); | ||||
|                             } | ||||
|                             return signature; | ||||
|                         }))]; | ||||
|             } | ||||
|         }); | ||||
|     }); | ||||
| }); }); | ||||
| }); | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| @ -4728,10 +4747,10 @@ exports.SUBJECT_TAGS_TRANSLATIONS = [ | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ "./crypto-pro-js.ts": | ||||
| /*!**************************!*\ | ||||
|   !*** ./crypto-pro-js.ts ***! | ||||
|   \**************************/ | ||||
| /***/ "./crypto-pro-js-m.ts": | ||||
| /*!****************************!*\ | ||||
|   !*** ./crypto-pro-js-m.ts ***! | ||||
|   \****************************/ | ||||
| /*! no static exports found */ | ||||
| /***/ (function(module, exports, __webpack_require__) { | ||||
| 
 | ||||
| @ -5309,6 +5328,37 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) { | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ "./helpers/getSignType.ts": | ||||
| /*!********************************!*\ | ||||
|   !*** ./helpers/getSignType.ts ***! | ||||
|   \********************************/ | ||||
| /*! no static exports found */ | ||||
| /***/ (function(module, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.getSignType = void 0; | ||||
| exports.getSignType = function (cadesplugin, signType) { | ||||
|     switch (signType) { | ||||
|         case 'CAdES BES': { | ||||
|             return cadesplugin.CADESCOM_CADES_BES; | ||||
|         } | ||||
|         case 'CAdES-X Long Type 1': { | ||||
|             return cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1; | ||||
|         } | ||||
|         case 'CAdES T': { | ||||
|             return cadesplugin.CADESCOM_CADES_T; | ||||
|         } | ||||
|         case 'PKCS7': { | ||||
|             return cadesplugin.CADESCOM_PKCS7_TYPE; | ||||
|         } | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ "./vendor/cadesplugin_api.js": | ||||
| @ -6068,4 +6118,4 @@ exports._parseCertInfo = function (tagsTranslations, rawInfo) { | ||||
| 
 | ||||
| /******/ }); | ||||
| }); | ||||
| //# sourceMappingURL=crypto-pro-js.js.map
 | ||||
| //# sourceMappingURL=crypto-pro-js-m.js.map
 | ||||
							
								
								
									
										1
									
								
								dist/crypto-pro-js-m.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/crypto-pro-js-m.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										11
									
								
								dist/crypto-pro-js-m.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								dist/crypto-pro-js-m.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/crypto-pro-js-m.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/crypto-pro-js-m.min.js.map
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										7
									
								
								dist/crypto-pro-js.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								dist/crypto-pro-js.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,7 +0,0 @@ | ||||
| // Type definitions for crypto-pro-js 2.3.3
 | ||||
| // Project: crypto-pro-js
 | ||||
| // Definitions by: Artem Vasilev https://github.com/kernusr
 | ||||
| 
 | ||||
| export as namespace cryptoPro; | ||||
| 
 | ||||
| export * from './api'; | ||||
							
								
								
									
										1
									
								
								dist/crypto-pro-js.js.map
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/crypto-pro-js.js.map
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										11
									
								
								dist/crypto-pro-js.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								dist/crypto-pro-js.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/crypto-pro-js.min.js.map
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/crypto-pro-js.min.js.map
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/helpers/getSignType.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								dist/helpers/getSignType.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| export declare type SignType = 'CAdES BES' | 'CAdES-X Long Type 1' | 'CAdES T' | 'PKCS7'; | ||||
| export declare const getSignType: (cadesplugin: any, signType: SignType) => any; | ||||
| @ -1,80 +1,85 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="ru"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <title>Пример использования cryptoPro</title> | ||||
| </head> | ||||
| <body> | ||||
|   </head> | ||||
|   <body> | ||||
|     <form name="createSignature" novalidate> | ||||
|         <fieldset> | ||||
|             <legend>Создание подписи</legend> | ||||
|             <label for="message">Подписываемое сообщение: *</label> | ||||
|             <br> | ||||
|             <textarea id="message" cols="80" rows="5" placeholder="Введите сообщение" autofocus required>Привет мир!</textarea> | ||||
|             <br><br> | ||||
|       <fieldset> | ||||
|         <legend>Создание подписи</legend> | ||||
|         <label for="message">Подписываемое сообщение: *</label> | ||||
|         <br /> | ||||
|         <textarea id="message" cols="80" rows="5" placeholder="Введите сообщение" autofocus required> | ||||
| Привет мир!</textarea | ||||
|         > | ||||
|         <br /><br /> | ||||
| 
 | ||||
|             <!--[if gte IE 10]><!--> | ||||
|             <label for="messageFile">Или файл для подписи:</label> | ||||
|             <br/> | ||||
|             <input id="messageFile" type="file"> | ||||
|             <pre id="messageFileError"></pre> | ||||
|             <!--<![endif]--> | ||||
|             <hr> | ||||
|         <!--[if gte IE 10]><!--> | ||||
|         <label for="messageFile">Или файл для подписи:</label> | ||||
|         <br /> | ||||
|         <input id="messageFile" type="file" /> | ||||
|         <pre id="messageFileError"></pre> | ||||
|         <!--<![endif]--> | ||||
|         <hr /> | ||||
| 
 | ||||
|             <label for="certificate">Сертификат: *</label> | ||||
|             <br> | ||||
|             <select id="certificate" tabindex="-1" required> | ||||
|                 <option disabled selected>Не выбран</option> | ||||
|             </select> | ||||
|             <pre id="certificateListError"></pre> | ||||
|         <label for="certificate">Сертификат: *</label> | ||||
|         <br /> | ||||
|         <select id="certificate" tabindex="-1" required> | ||||
|           <option disabled selected>Не выбран</option> | ||||
|         </select> | ||||
|         <pre id="certificateListError"></pre> | ||||
| 
 | ||||
|             <details id="certificateDetails"> | ||||
|                 <summary>Информация о сертификате</summary> | ||||
|                 <pre id="certificateInfo"></pre> | ||||
|             </details> | ||||
|             <pre id="certificateInfoError"></pre> | ||||
|         <details id="certificateDetails"> | ||||
|           <summary>Информация о сертификате</summary> | ||||
|           <pre id="certificateInfo"></pre> | ||||
|         </details> | ||||
|         <pre id="certificateInfoError"></pre> | ||||
| 
 | ||||
|             <label>Тип подписи: *</label> | ||||
|             <br> | ||||
|             <label><input type="radio" name="signatureType" value="attached">Совмещенная</label> | ||||
|             <br> | ||||
|             <label><input type="radio" name="signatureType" value="xml">XML</label> | ||||
|             <br> | ||||
|             <label><input type="radio" name="signatureType" value="detached" checked>Отделенная</label> | ||||
|             <br><br> | ||||
|         <label>Тип подписи: *</label> | ||||
|         <br /> | ||||
|         <label><input type="radio" name="signatureType" value="attached" />Совмещенная</label> | ||||
|         <br /> | ||||
|         <label><input type="radio" name="signatureType" value="xml" />XML</label> | ||||
|         <br /> | ||||
|         <label><input type="radio" name="signatureType" value="detached" checked />Отделенная</label> | ||||
|         <br /><br /> | ||||
| 
 | ||||
|             <hr> | ||||
|             <button id="createSignature" type="submit" disabled>Создать подпись</button> | ||||
|         </fieldset> | ||||
|         <hr /> | ||||
|         <button id="createSignature" type="submit" disabled>Создать подпись</button> | ||||
|       </fieldset> | ||||
| 
 | ||||
|         <fieldset> | ||||
|             <legend>Результат</legend> | ||||
|             <label for="hash">Хеш (ГОСТ Р 34.11-2012 256 бит):</label><br> | ||||
|             <textarea id="hash" cols="80" rows="5" placeholder="Не вычислен"></textarea> | ||||
|             <br> | ||||
|             <pre id="hashError"></pre> | ||||
|       <fieldset> | ||||
|         <legend>Результат</legend> | ||||
|         <label for="hash">Хеш (ГОСТ Р 34.11-2012 256 бит):</label><br /> | ||||
|         <textarea id="hash" cols="80" rows="5" placeholder="Не вычислен"></textarea> | ||||
|         <br /> | ||||
|         <pre id="hashError"></pre> | ||||
| 
 | ||||
|             <label for="signature">Подпись (PKCS7):</label><br> | ||||
|             <textarea id="signature" cols="80" rows="30" placeholder="Не создана"></textarea> | ||||
|             <pre id="signatureError"></pre> | ||||
|         <label for="signature">Подпись (PKCS7):</label><br /> | ||||
|         <textarea id="signature" cols="80" rows="30" placeholder="Не создана"></textarea> | ||||
|         <pre id="signatureError"></pre> | ||||
| 
 | ||||
|             <p> | ||||
|                 Для | ||||
|                 <a href="https://www.gosuslugi.ru/pgu/eds/" | ||||
|                    target="_blank" | ||||
|                    rel="nofollow noopener noreferrer" | ||||
|                    title="Перейти к проверке подписи">проверки</a> | ||||
|                 нужно создать файл со сгенерированной подписью в кодировке UTF-8 с расширением *.sgn | ||||
|                 <br> | ||||
|                 для отделенной подписи (или *.sig для совмещенной). | ||||
|             </p> | ||||
|         </fieldset> | ||||
|         <p> | ||||
|           Для | ||||
|           <a | ||||
|             href="https://www.gosuslugi.ru/pgu/eds/" | ||||
|             target="_blank" | ||||
|             rel="nofollow noopener noreferrer" | ||||
|             title="Перейти к проверке подписи" | ||||
|             >проверки</a | ||||
|           > | ||||
|           нужно создать файл со сгенерированной подписью в кодировке UTF-8 с расширением *.sgn | ||||
|           <br /> | ||||
|           для отделенной подписи (или *.sig для совмещенной). | ||||
|         </p> | ||||
|       </fieldset> | ||||
| 
 | ||||
|         <fieldset> | ||||
|             <legend>Информация о системе</legend> | ||||
|             <pre id="systemInfo"></pre> | ||||
|             <pre id="systemInfoError"></pre> | ||||
|         </fieldset> | ||||
|       <fieldset> | ||||
|         <legend>Информация о системе</legend> | ||||
|         <pre id="systemInfo"></pre> | ||||
|         <pre id="systemInfoError"></pre> | ||||
|       </fieldset> | ||||
|     </form> | ||||
| 
 | ||||
|     <!-- Полифиллы для работы библиотеки --> | ||||
| @ -82,7 +87,7 @@ | ||||
|     <script src="polyfills/find.js"></script> | ||||
| 
 | ||||
|     <!-- Библиотека --> | ||||
|     <script src="dist/crypto-pro-js.js"></script> | ||||
|     <script src="dist/crypto-pro-js-m.js"></script> | ||||
| 
 | ||||
|     <!-- Полифиллы для работы демо скриптов --> | ||||
|     <script src="polyfills/atob-btoa.js"></script> | ||||
| @ -93,5 +98,5 @@ | ||||
|     <script src="create-sign.js"></script> | ||||
|     <script src="get-env-info.js"></script> | ||||
|     <script src="show-cert.js"></script> | ||||
| </body> | ||||
|   </body> | ||||
| </html> | ||||
|  | ||||
							
								
								
									
										6
									
								
								lib/api/addAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								lib/api/addAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,8 +1,10 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Добавляет присоединенную подпись к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const addAttachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer) => Promise<string>; | ||||
| export declare const addAttachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										6
									
								
								lib/api/addDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								lib/api/addDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,9 +1,11 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Добавляет отсоединенную подпись хеша к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const addDetachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer, messageHash: string) => Promise<string>; | ||||
| export declare const addDetachedSignature: (thumbprint: string, signedMessage: string | ArrayBuffer, messageHash: string, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										6
									
								
								lib/api/createAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								lib/api/createAttachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,8 +1,10 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Создает присоединенную подпись сообщения по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param message - подписываемое сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const createAttachedSignature: (thumbprint: string, unencryptedMessage: string | ArrayBuffer) => Promise<string>; | ||||
| export declare const createAttachedSignature: (thumbprint: string, unencryptedMessage: string | ArrayBuffer, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										6
									
								
								lib/api/createDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								lib/api/createDetachedSignature.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,8 +1,10 @@ | ||||
| import { SignType } from '../helpers/getSignType'; | ||||
| /** | ||||
|  * Создает отсоединенную подпись хеша по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| export declare const createDetachedSignature: (thumbprint: string, messageHash: string) => Promise<string>; | ||||
| export declare const createDetachedSignature: (thumbprint: string, messageHash: string, signType?: SignType) => Promise<string>; | ||||
|  | ||||
							
								
								
									
										5
									
								
								lib/crypto-pro-js-m.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								lib/crypto-pro-js-m.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| // Type definitions for crypto-pro-js-m 0.1.3
 | ||||
| // Project: crypto-pro-js-m
 | ||||
| // Definitions by: Serge Schekhovtsov https://github.com/schekhovtsov
 | ||||
| 
 | ||||
| export * from './api'; | ||||
| @ -91,7 +91,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||||
| /******/ | ||||
| /******/ | ||||
| /******/ 	// Load entry module and return exports
 | ||||
| /******/ 	return __webpack_require__(__webpack_require__.s = "./crypto-pro-js.ts"); | ||||
| /******/ 	return __webpack_require__(__webpack_require__.s = "./crypto-pro-js-m.ts"); | ||||
| /******/ }) | ||||
| /************************************************************************/ | ||||
| /******/ ({ | ||||
| @ -2229,14 +2229,16 @@ const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_ext | ||||
| const _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| const _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| const _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| const getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Добавляет присоединенную подпись к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.addAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, signedMessage) => __awaiter(void 0, void 0, void 0, function* () { | ||||
| exports.addAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, signedMessage, signType = 'PKCS7') => __awaiter(void 0, void 0, void 0, function* () { | ||||
|     const { cadesplugin } = window; | ||||
|     const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint); | ||||
|     return eval(_generateCadesFn_1._generateCadesFn(function addAttachedSignature() { | ||||
| @ -2283,9 +2285,10 @@ exports.addAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbp | ||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи'); | ||||
|         } | ||||
|         let signature; | ||||
|         const signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|         try { | ||||
|             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.VerifyCades(signedMessage, cadesplugin.CADESCOM_PKCS7_TYPE)); | ||||
|             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.CoSignCades(cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.VerifyCades(signedMessage, signTypeConst)); | ||||
|             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.CoSignCades(cadesSigner, signTypeConst); | ||||
|         } | ||||
|         catch (error) { | ||||
|             console.error(error); | ||||
| @ -2325,15 +2328,17 @@ const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_ext | ||||
| const _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| const _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| const _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| const getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Добавляет отсоединенную подпись хеша к подписанному сообщению по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param signedMessage - подписанное сообщение | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.addDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, signedMessage, messageHash) => __awaiter(void 0, void 0, void 0, function* () { | ||||
| exports.addDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, signedMessage, messageHash, signType = 'PKCS7') => __awaiter(void 0, void 0, void 0, function* () { | ||||
|     const { cadesplugin } = window; | ||||
|     const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint); | ||||
|     return eval(_generateCadesFn_1._generateCadesFn(function addDetachedSignature() { | ||||
| @ -2381,12 +2386,10 @@ exports.addDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbp | ||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке хеша'); | ||||
|         } | ||||
|         let signature; | ||||
|         const signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|         try { | ||||
|             void (_generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                 cadesSignedData.VerifyHash(cadesHashedData, signedMessage, cadesplugin.CADESCOM_PKCS7_TYPE)); | ||||
|             signature = | ||||
|                 _generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                     cadesSignedData.CoSignHash(cadesHashedData, cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|             void (_generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.VerifyHash(cadesHashedData, signedMessage, signTypeConst)); | ||||
|             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.CoSignHash(cadesHashedData, cadesSigner, signTypeConst); | ||||
|         } | ||||
|         catch (error) { | ||||
|             console.error(error); | ||||
| @ -2850,14 +2853,16 @@ const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_ext | ||||
| const _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| const _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| const _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| const getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Создает присоединенную подпись сообщения по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param message - подписываемое сообщение | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.createAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, unencryptedMessage) => __awaiter(void 0, void 0, void 0, function* () { | ||||
| exports.createAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, unencryptedMessage, signType = 'PKCS7') => __awaiter(void 0, void 0, void 0, function* () { | ||||
|     const { cadesplugin } = window; | ||||
|     const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint); | ||||
|     return eval(_generateCadesFn_1._generateCadesFn(function createAttachedSignature() { | ||||
| @ -2904,8 +2909,9 @@ exports.createAttachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thu | ||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при указании данных для подписи'); | ||||
|         } | ||||
|         let signature; | ||||
|         const signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|         try { | ||||
|             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.SignCades(cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.SignCades(cadesSigner, signTypeConst); | ||||
|         } | ||||
|         catch (error) { | ||||
|             console.error(error); | ||||
| @ -2945,14 +2951,16 @@ const _extractMeaningfulErrorMessage_1 = __webpack_require__(/*! ../helpers/_ext | ||||
| const _generateCadesFn_1 = __webpack_require__(/*! ../helpers/_generateCadesFn */ "./helpers/_generateCadesFn.ts"); | ||||
| const _getCadesCert_1 = __webpack_require__(/*! ../helpers/_getCadesCert */ "./helpers/_getCadesCert.ts"); | ||||
| const _getDateObj_1 = __webpack_require__(/*! ../helpers/_getDateObj */ "./helpers/_getDateObj.ts"); | ||||
| const getSignType_1 = __webpack_require__(/*! ../helpers/getSignType */ "./helpers/getSignType.ts"); | ||||
| /** | ||||
|  * Создает отсоединенную подпись хеша по отпечатку сертификата | ||||
|  * | ||||
|  * @param thumbprint - отпечаток сертификата | ||||
|  * @param messageHash - хеш подписываемого сообщения, сгенерированный по ГОСТ Р 34.11-2012 256 бит | ||||
|  * @returns подпись в формате PKCS#7 | ||||
|  * @param signType - тип подписи, может быть равен 'CAdES BES', 'CAdES-X Long Type 1', 'CAdES T', 'PKCS7' | ||||
|  * @returns подпись в формате signType | ||||
|  */ | ||||
| exports.createDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, messageHash) => __awaiter(void 0, void 0, void 0, function* () { | ||||
| exports.createDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thumbprint, messageHash, signType = 'PKCS7') => __awaiter(void 0, void 0, void 0, function* () { | ||||
|     const { cadesplugin } = window; | ||||
|     const cadesCertificate = yield _getCadesCert_1._getCadesCert(thumbprint); | ||||
|     return eval(_generateCadesFn_1._generateCadesFn(function createDetachedSignature() { | ||||
| @ -3000,10 +3008,9 @@ exports.createDetachedSignature = _afterPluginsLoaded_1._afterPluginsLoaded((thu | ||||
|             throw new Error(_extractMeaningfulErrorMessage_1._extractMeaningfulErrorMessage(error) || 'Ошибка при установке хеша'); | ||||
|         } | ||||
|         let signature; | ||||
|         const signTypeConst = getSignType_1.getSignType(cadesplugin, signType); | ||||
|         try { | ||||
|             signature = | ||||
|                 _generateCadesFn_1.__cadesAsyncToken__ + | ||||
|                     cadesSignedData.SignHash(cadesHashedData, cadesSigner, cadesplugin.CADESCOM_PKCS7_TYPE); | ||||
|             signature = _generateCadesFn_1.__cadesAsyncToken__ + cadesSignedData.SignHash(cadesHashedData, cadesSigner, signTypeConst); | ||||
|         } | ||||
|         catch (error) { | ||||
|             console.error(error); | ||||
| @ -4239,10 +4246,10 @@ exports.SUBJECT_TAGS_TRANSLATIONS = [ | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ "./crypto-pro-js.ts": | ||||
| /*!**************************!*\ | ||||
|   !*** ./crypto-pro-js.ts ***! | ||||
|   \**************************/ | ||||
| /***/ "./crypto-pro-js-m.ts": | ||||
| /*!****************************!*\ | ||||
|   !*** ./crypto-pro-js-m.ts ***! | ||||
|   \****************************/ | ||||
| /*! no static exports found */ | ||||
| /***/ (function(module, exports, __webpack_require__) { | ||||
| 
 | ||||
| @ -4735,6 +4742,37 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => { | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ "./helpers/getSignType.ts": | ||||
| /*!********************************!*\ | ||||
|   !*** ./helpers/getSignType.ts ***! | ||||
|   \********************************/ | ||||
| /*! no static exports found */ | ||||
| /***/ (function(module, exports, __webpack_require__) { | ||||
| 
 | ||||
| "use strict"; | ||||
| 
 | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| exports.getSignType = void 0; | ||||
| exports.getSignType = (cadesplugin, signType) => { | ||||
|     switch (signType) { | ||||
|         case 'CAdES BES': { | ||||
|             return cadesplugin.CADESCOM_CADES_BES; | ||||
|         } | ||||
|         case 'CAdES-X Long Type 1': { | ||||
|             return cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1; | ||||
|         } | ||||
|         case 'CAdES T': { | ||||
|             return cadesplugin.CADESCOM_CADES_T; | ||||
|         } | ||||
|         case 'PKCS7': { | ||||
|             return cadesplugin.CADESCOM_PKCS7_TYPE; | ||||
|         } | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| /***/ }), | ||||
| 
 | ||||
| /***/ "./vendor/cadesplugin_api.js": | ||||
| @ -5494,4 +5532,4 @@ exports._parseCertInfo = (tagsTranslations, rawInfo) => { | ||||
| 
 | ||||
| /******/ }); | ||||
| }); | ||||
| //# sourceMappingURL=crypto-pro-js.js.map
 | ||||
| //# sourceMappingURL=crypto-pro-js-m.js.map
 | ||||
							
								
								
									
										1
									
								
								lib/crypto-pro-js-m.js.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								lib/crypto-pro-js-m.js.map
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										5
									
								
								lib/crypto-pro-js.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								lib/crypto-pro-js.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,5 +0,0 @@ | ||||
| // Type definitions for crypto-pro-js 2.3.3
 | ||||
| // Project: crypto-pro-js
 | ||||
| // Definitions by: Artem Vasilev https://github.com/kernusr
 | ||||
| 
 | ||||
| export * from './api'; | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								lib/helpers/getSignType.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								lib/helpers/getSignType.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| export declare type SignType = 'CAdES BES' | 'CAdES-X Long Type 1' | 'CAdES T' | 'PKCS7'; | ||||
| export declare const getSignType: (cadesplugin: any, signType: SignType) => any; | ||||
							
								
								
									
										10
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
									
									
									
									
								
							| @ -1,9 +1,9 @@ | ||||
| { | ||||
| 	"name": "crypto-pro-js", | ||||
| 	"version": "0.1.3", | ||||
| 	"name": "crypto-pro-js-m", | ||||
| 	"version": "0.1.4", | ||||
| 	"description": "Асинхронный JavaScript API для работы с КриптоПРО ЭЦП Browser Plug-In. Forked from https://github.com/crypto-pro-web/crypto-pro-js", | ||||
| 	"main": "./lib/crypto-pro-js.js", | ||||
| 	"types": "./lib/crypto-pro-js.d.ts", | ||||
| 	"main": "./lib/crypto-pro-js-m.js", | ||||
| 	"types": "./lib/crypto-pro-js-m.d.ts", | ||||
| 	"files": [ | ||||
| 		"lib/**/*", | ||||
| 		"dist/**/*", | ||||
| @ -33,7 +33,7 @@ | ||||
| 	}, | ||||
| 	"repository": { | ||||
| 		"type": "git", | ||||
| 		"url": "https://github.com/webmasterskaya/crypto-pro-js" | ||||
| 		"url": "https://github.com/Schekhovtsov/crypto-pro-js-m" | ||||
| 	}, | ||||
| 	"author": { | ||||
| 		"name": "Serge Schekhovtsov", | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| export type SignType = 'CAdES BES' | 'CAdES-X Long Type 1' | 'CAdES T' | 'PKCS7'; | ||||
| 
 | ||||
| export const getSignType = (cadesplugin: any, signType: SignType) => { | ||||
| export const getSignType = (cadesplugin: any, signType: SignType): any => { | ||||
|   switch (signType) { | ||||
|     case 'CAdES BES': { | ||||
|       return cadesplugin.CADESCOM_CADES_BES; | ||||
|  | ||||
| @ -14,7 +14,7 @@ | ||||
|     ] | ||||
|   }, | ||||
|   "include": [ | ||||
|     "./src/crypto-pro-js.ts" | ||||
|     "./src/crypto-pro-js-m.ts" | ||||
|   ], | ||||
|   "exclude": [ | ||||
|     "node_modules" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Sergey Shehovcov
						Sergey Shehovcov