Skip to content

Commit 0787dd2

Browse files
authored
Merge pull request #2 from vlbespalov/fixes_20240119
fixes_20240119
2 parents 89bbe3a + 6636c1e commit 0787dd2

6 files changed

+90
-16
lines changed

dist/сertificateAdjuster.js dist/certificateAdjuster.js

+37
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,42 @@ CertificateAdjuster.init = function init(currentCert) {
3030
this.validPeriod = validPeriod;
3131
};
3232

33+
/**
34+
* @method getInfo
35+
* @param {String} subjectIssuer раздел информации 'issuerInfo' или 'subjectInfo'
36+
* @returns {Object}
37+
* @throws {Error}
38+
* @description возвращает объект из сформированных значений в формате key: value
39+
*/
40+
CertificateAdjuster.getInfo = function getInfo(subjectIssuer) {
41+
if (!this[subjectIssuer]) {
42+
throw new Error('Не верно указан аттрибут');
43+
}
44+
45+
const subjectIssuerArr = this[subjectIssuer].split(', ');
46+
const _possibleInfo = this.possibleInfo(subjectIssuer);
47+
48+
const formedSubjectIssuerInfo = {};
49+
50+
subjectIssuerArr.map(tag => {
51+
const tagArr = tag.split('=');
52+
tagArr[0] = `${tagArr[0]}=`;
53+
54+
formedSubjectIssuerInfo[_possibleInfo[tagArr[0]]] = tagArr[1];
55+
});
56+
57+
return formedSubjectIssuerInfo;
58+
};
59+
60+
/**
61+
* @method getSubjectInfo
62+
* @returns {Object}
63+
* @description возвращает распаршенную информацию о строке subjectInfo в формате key: value
64+
*/
65+
CertificateAdjuster.getSubjectInfo = function getSubjectInfo() {
66+
return this.getInfo('subjectInfo');
67+
};
68+
3369
/**
3470
* @method friendlyInfo
3571
* @param {String} subjectIssuer раздел информации 'issuerInfo' или 'subjectInfo'
@@ -112,6 +148,7 @@ CertificateAdjuster.possibleInfo = function possibleInfo(subjectIssuer) {
112148
'СНИЛС=': 'СНИЛС',
113149
'INN=': 'ИНН',
114150
'ИНН=': 'ИНН',
151+
'ИНН ЮЛ=': 'ИНН_ЮЛ',
115152
'ОГРН=': 'ОГРН',
116153
'OGRN=': 'ОГРН'
117154
};

dist/сertificatesApi.js dist/certificatesApi.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// NOTE Imports
55
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
66

7-
const CertificateAdjuster = require('./сertificateAdjuster');
7+
const CertificateAdjuster = require('./certificateAdjuster');
88
const cadescomMethods = require('./cadescomMethods');
99
const { doXmlSitnatureAlgorithm, doXmlSitnatureType } = require('./xmlSitnatureMethods');
1010
const {
@@ -82,9 +82,9 @@ CertificatesApi.getCertsList = async function getCertsList() {
8282

8383
for (let index = 0; index < count; index++) {
8484
const certApi = await findCertsWithPrivateKey.Item(index + 1);
85-
const сertificateAdjuster = Object.create(CertificateAdjuster);
85+
const certificateAdjuster = Object.create(CertificateAdjuster);
8686

87-
сertificateAdjuster.init({
87+
certificateAdjuster.init({
8888
certApi,
8989
issuerInfo: await certApi.IssuerName,
9090
privateKey: await certApi.PrivateKey,
@@ -97,7 +97,7 @@ CertificatesApi.getCertsList = async function getCertsList() {
9797
}
9898
});
9999

100-
createCertList.push(сertificateAdjuster);
100+
createCertList.push(certificateAdjuster);
101101
}
102102

103103
oStore.Close();
@@ -135,7 +135,7 @@ CertificatesApi.currentCadesCert = async function currentCadesCert(thumbprint) {
135135

136136
return certificateItem;
137137
} else {
138-
throw new Error(`Произошла ошибка при получении вертификата по thumbprint значению: ${thumbprint}`);
138+
throw new Error(`Произошла ошибка при получении сертификата по thumbprint значению: ${thumbprint}`);
139139
}
140140
} catch (error) {
141141
throw new Error(error.message);
@@ -150,7 +150,7 @@ CertificatesApi.currentCadesCert = async function currentCadesCert(thumbprint) {
150150
* @description
151151
* Получает сертификат по thumbprint значению сертификата.
152152
* В отличие от currentCadesCert использует для поиска коллбек функцию getCertsList
153-
* С помощью этой функции в сертификате доступны методы из сertificateAdjuster
153+
* С помощью этой функции в сертификате доступны методы из certificateAdjuster
154154
*/
155155
CertificatesApi.getCert = async function getCert(thumbprint) {
156156
try {
@@ -239,7 +239,7 @@ CertificatesApi.signXml = async function signXml(thumbprint, xml, cadescomXmlSig
239239

240240
return await oSignerXML.Sign(oSigner);
241241
} catch (error) {
242-
throw new Error(error);
242+
throw new Error(error.message);
243243
}
244244
};
245245

dist/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
88
// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
99

1010
require("./lib/cadesplugin_api");
11-
const CertificatesApi = require("./сertificatesApi");
11+
const CertificatesApi = require("./certificatesApi");
1212

1313
// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
1414
// NOTE cadesplugin await function

src/сertificateAdjuster.js src/certificateAdjuster.js

+37
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,42 @@ CertificateAdjuster.init = function init(currentCert) {
2828
this.validPeriod = validPeriod;
2929
}
3030

31+
/**
32+
* @method getInfo
33+
* @param {String} subjectIssuer раздел информации 'issuerInfo' или 'subjectInfo'
34+
* @returns {Object}
35+
* @throws {Error}
36+
* @description возвращает объект из сформированных значений в формате key: value
37+
*/
38+
CertificateAdjuster.getInfo = function getInfo(subjectIssuer) {
39+
if (!this[subjectIssuer]) {
40+
throw new Error('Не верно указан аттрибут')
41+
}
42+
43+
const subjectIssuerArr = this[subjectIssuer].split(', ')
44+
const _possibleInfo = this.possibleInfo(subjectIssuer)
45+
46+
const formedSubjectIssuerInfo = {}
47+
48+
subjectIssuerArr.map(tag => {
49+
const tagArr = tag.split('=');
50+
tagArr[0] = `${tagArr[0]}=`
51+
52+
formedSubjectIssuerInfo[_possibleInfo[tagArr[0]]] = tagArr[1]
53+
})
54+
55+
return formedSubjectIssuerInfo
56+
}
57+
58+
/**
59+
* @method getSubjectInfo
60+
* @returns {Object}
61+
* @description возвращает распаршенную информацию о строке subjectInfo в формате key: value
62+
*/
63+
CertificateAdjuster.getSubjectInfo = function getSubjectInfo() {
64+
return this.getInfo('subjectInfo');
65+
}
66+
3167
/**
3268
* @method friendlyInfo
3369
* @param {String} subjectIssuer раздел информации 'issuerInfo' или 'subjectInfo'
@@ -110,6 +146,7 @@ CertificateAdjuster.possibleInfo = function possibleInfo(subjectIssuer) {
110146
'СНИЛС=': 'СНИЛС',
111147
'INN=': 'ИНН',
112148
'ИНН=': 'ИНН',
149+
'ИНН ЮЛ=': 'ИНН_ЮЛ',
113150
'ОГРН=': 'ОГРН',
114151
'OGRN=': 'ОГРН',
115152
};

src/сertificatesApi.js src/certificatesApi.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// NOTE Imports
33
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
44

5-
const CertificateAdjuster = require('./сertificateAdjuster')
5+
const CertificateAdjuster = require('./certificateAdjuster')
66
const cadescomMethods = require('./cadescomMethods')
77
const { doXmlSitnatureAlgorithm, doXmlSitnatureType } = require('./xmlSitnatureMethods')
88
const {
@@ -87,9 +87,9 @@ CertificatesApi.getCertsList = async function getCertsList() {
8787

8888
for (let index = 0; index < count; index++) {
8989
const certApi = await findCertsWithPrivateKey.Item(index + 1)
90-
const сertificateAdjuster = Object.create(CertificateAdjuster)
90+
const certificateAdjuster = Object.create(CertificateAdjuster)
9191

92-
сertificateAdjuster.init({
92+
certificateAdjuster.init({
9393
certApi,
9494
issuerInfo: await certApi.IssuerName,
9595
privateKey: await certApi.PrivateKey,
@@ -102,7 +102,7 @@ CertificatesApi.getCertsList = async function getCertsList() {
102102
},
103103
})
104104

105-
createCertList.push(сertificateAdjuster)
105+
createCertList.push(certificateAdjuster)
106106
}
107107

108108
oStore.Close()
@@ -145,7 +145,7 @@ CertificatesApi.currentCadesCert = async function currentCadesCert(thumbprint) {
145145
return certificateItem
146146
} else {
147147
throw new Error(
148-
`Произошла ошибка при получении вертификата по thumbprint значению: ${thumbprint}`,
148+
`Произошла ошибка при получении сертификата по thumbprint значению: ${thumbprint}`,
149149
)
150150
}
151151
} catch (error) {
@@ -161,7 +161,7 @@ CertificatesApi.currentCadesCert = async function currentCadesCert(thumbprint) {
161161
* @description
162162
* Получает сертификат по thumbprint значению сертификата.
163163
* В отличие от currentCadesCert использует для поиска коллбек функцию getCertsList
164-
* С помощью этой функции в сертификате доступны методы из сertificateAdjuster
164+
* С помощью этой функции в сертификате доступны методы из certificateAdjuster
165165
*/
166166
CertificatesApi.getCert = async function getCert(thumbprint) {
167167
try {
@@ -254,7 +254,7 @@ CertificatesApi.signXml = async function signXml(
254254

255255
return await oSignerXML.Sign(oSigner)
256256
} catch (error) {
257-
throw new Error(error)
257+
throw new Error(error.message);
258258
}
259259
}
260260

src/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
44

55
require("./lib/cadesplugin_api");
6-
const CertificatesApi = require("./сertificatesApi");
6+
const CertificatesApi = require("./certificatesApi");
77

88
// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
99
// NOTE cadesplugin await function

0 commit comments

Comments
 (0)