@vchasno/signer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@vchasno/signer",
3
+ "version": "1.0.0",
4
+ "description": "Sign module for Vchasno project",
5
+ "main": "lib/vchasnoSigner.js",
6
+ "scripts": {
7
+ "prod": "webpack --env production",
8
+ "dev": "webpack --progress --watch --env dev",
9
+ "lint": "eslint /work/src /work/tests",
10
+ "pub": "npm publish --access public",
11
+ "test": "mocha --compilers js:babel-register --timeout 15000 ./tests/*.js"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git@gitlab.vchasno.com.ua:libs/signerjs.git"
16
+ },
17
+ "author": "",
18
+ "license": "ISC",
19
+ "dependencies": {
20
+ "await-lock": "1.1.2",
21
+ "promise-worker-transferable": "1.0.4",
22
+ "uuid": "3.2.1"
23
+ },
24
+ "devDependencies": {
25
+ "@evo/eslint-config-uaprom": "1.1.0",
26
+ "arraybuffer-loader": "0.2.2",
27
+ "babel-cli": "6.26.0",
28
+ "babel-core": "6.26.0",
29
+ "babel-loader": "7.1.2",
30
+ "babel-plugin-add-module-exports": "0.2.1",
31
+ "babel-plugin-syntax-async-functions": "6.13.0",
32
+ "babel-plugin-transform-runtime": "6.23.0",
33
+ "babel-preset-es2015": "6.24.1",
34
+ "babel-preset-react": "6.24.1",
35
+ "babel-preset-stage-2": "6.24.1",
36
+ "babel-register": "6.24.1",
37
+ "babel-runtime": "6.26.0",
38
+ "babel-template": "6.26.0",
39
+ "babel-types": "6.26.0",
40
+ "chai": "4.1.2",
41
+ "eslint": "3.16.1",
42
+ "eslint-loader": "1.9.0",
43
+ "eslint-plugin-import": "2.2.0",
44
+ "eslint-plugin-jsx-a11y": "4.0.0",
45
+ "eslint-plugin-react": "5.2.2",
46
+ "mocha": "3.5.0",
47
+ "uglifyjs-webpack-plugin": "1.2.0",
48
+ "webpack": "3.5.5",
49
+ "worker-loader": "0.8.1"
50
+ }
51
+ }
@@ -0,0 +1,45 @@
1
+ const SERVERS = require('./rawCAs.json');
2
+ const TEST_SERVERS = require('./testCAs.json');
3
+ const WEIGHTS = require('./weights.json');
4
+ const fs = require('fs');
5
+
6
+
7
+ const S = SERVERS.concat(TEST_SERVERS).map(server => {
8
+ const obj = {};
9
+ obj.name = server.issuerCNs[0];
10
+ for (const k in server) {
11
+ if (server.hasOwnProperty(k)) {
12
+ obj[k] = server[k];
13
+ }
14
+ }
15
+ return obj;
16
+ });
17
+
18
+
19
+ // WEIGHTS sql:
20
+ // -- EDO certificates count by ACSK
21
+ // select c.acsk, count(*) as count_
22
+ // from certificates c
23
+ // group by c.acsk
24
+ // order by count_ desc
25
+ // ;
26
+
27
+ // convert array of objects to dict: {acsk: count_}
28
+ const weights = Object.fromEntries(WEIGHTS.map(e => Object.values(e)));
29
+
30
+ const weightsNameMap = {};
31
+
32
+ S.forEach((value, index) => {
33
+ const position = S.length - index;
34
+ const weight = position + value.issuerCNs.reduce((s, a) => s + (weights[a] || 0), 0);
35
+ weightsNameMap[value.name] = weight;
36
+ });
37
+
38
+ S.sort((a, b) => weightsNameMap[b.name] - weightsNameMap[a.name]);
39
+
40
+
41
+ const json = JSON.stringify(S, null, 4);
42
+
43
+ fs.writeFile('./src/caServers.json', json, 'utf8', () => {
44
+ console.log('OK');
45
+ });
@@ -0,0 +1,424 @@
1
+ [
2
+ {
3
+ "issuerCNs": ["КНЕДП ДПС",
4
+ "QTSP State Tax Service of Ukraine",
5
+ "КНЕДП ІДД ДПС",
6
+ "КНЕДП - ІДД ДПС",
7
+ "Акредитований центр сертифікації ключів ІДД ДФС",
8
+ "Акредитований центр сертифікації ключів ІДД Міндоходів",
9
+ "Акредитований центр сертифікації ключів ІДД ДПС"],
10
+ "address": "ca.tax.gov.ua",
11
+ "ocspAccessPointAddress": "ca.tax.gov.ua/services/ocsp/",
12
+ "ocspAccessPointPort": "80",
13
+ "cmpAddress": "ca.tax.gov.ua",
14
+ "tspAddress": "ca.tax.gov.ua",
15
+ "tspAddressPort": "80",
16
+ "directAccess": true,
17
+ "codeEDRPOU": "43005393"
18
+ },
19
+ {
20
+ "issuerCNs": ["\"Дія\". Кваліфікований надавач електронних довірчих послуг",
21
+ "АЦСК органів юстиції України",
22
+ "\"DIIA\". Qualified Trust Services Provider",
23
+ "CA of the Justice of Ukraine",
24
+ "АЦСК Держінформ'юсту"],
25
+ "address": "ca.informjust.ua",
26
+ "ocspAccessPointAddress": "ca.informjust.ua/services/ocsp/",
27
+ "ocspAccessPointPort": "80",
28
+ "cmpAddress": "ca.informjust.ua",
29
+ "tspAddress": "ca.informjust.ua",
30
+ "tspAddressPort": "80",
31
+ "directAccess": true,
32
+ "qscdSNInCert": true,
33
+ "codeEDRPOU": "43395033"
34
+ },
35
+ {
36
+ "issuerCNs": ["КНЕДП ЦСК Укрзалізниці",
37
+ "QTSP of the Ukrzaliznytsia CA",
38
+ "Акредитований центр сертифікації ключів Укрзалізниці",
39
+ "ЦСК Укрзалізниці"],
40
+ "address": "csk.uz.gov.ua",
41
+ "ocspAccessPointAddress": "csk.uz.gov.ua/services/ocsp/",
42
+ "ocspAccessPointPort": "80",
43
+ "cmpAddress": "csk.uz.gov.ua",
44
+ "tspAddress": "csk.uz.gov.ua",
45
+ "tspAddressPort": "80",
46
+ "codeEDRPOU": "40081258"
47
+ },
48
+ {
49
+ "issuerCNs": ["КНЕДП \"MASTERKEY\" ТОВ \"АРТ-МАСТЕР\"",
50
+ "АЦСК \"MASTERKEY\" ТОВ \"АРТ-МАСТЕР\"",
51
+ "ЦСК \"MASTERKEY\" ТОВ \"АРТ-МАСТЕР\"",
52
+ "ТОВ \"Арт-мастер\""],
53
+ "address": "masterkey.ua",
54
+ "ocspAccessPointAddress": "masterkey.ua/services/ocsp/",
55
+ "ocspAccessPointPort": "80",
56
+ "cmpAddress": "masterkey.ua",
57
+ "tspAddress": "masterkey.ua/services/tsp/",
58
+ "tspAddressPort": "80",
59
+ "codeEDRPOU": "30404750"
60
+ },
61
+ {
62
+ "issuerCNs": ["КНЕДП ДП \"УСС\"",
63
+ "QTSP SE \"USS\"",
64
+ "АЦСК ДП «УСС»",
65
+ "АЦСК ДП \"УСС\""],
66
+ "address": "csk.uss.gov.ua",
67
+ "ocspAccessPointAddress": "csk.uss.gov.ua/services/ocsp/",
68
+ "ocspAccessPointPort": "80",
69
+ "cmpAddress": "csk.uss.gov.ua",
70
+ "tspAddress": "csk.uss.gov.ua",
71
+ "tspAddressPort": "80",
72
+ "directAccess": true,
73
+ "codeEDRPOU": "32348248"
74
+ },
75
+ {
76
+ "issuerCNs": ["КНЕДП АТ \"УКРСИББАНК\"",
77
+ "АЦСК Публічного акціонерного товариства \"УкрСиббанк\""],
78
+ "address": "csk.ukrsibbank.com",
79
+ "ocspAccessPointAddress": "csk.ukrsibbank.com/services/ocsp/",
80
+ "ocspAccessPointPort": "80",
81
+ "cmpAddress": "csk.ukrsibbank.com",
82
+ "tspAddress": "csk.ukrsibbank.com",
83
+ "tspAddressPort": "80",
84
+ "codeEDRPOU": "09807750"
85
+ },
86
+ {
87
+ "issuerCNs": ["КНЕДП АЦСК АТ КБ \"ПРИВАТБАНК\"",
88
+ "АЦСК АТ КБ «ПРИВАТБАНК»",
89
+ "АЦСК ПАТ КБ «ПРИВАТБАНК»",
90
+ "АЦСК «ПРИВАТБАНК»"],
91
+ "address": "acsk.privatbank.ua",
92
+ "ocspAccessPointAddress": "acsk.privatbank.ua/services/ocsp/",
93
+ "ocspAccessPointPort": "80",
94
+ "cmpAddress": "acsk.privatbank.ua",
95
+ "tspAddress": "acsk.privatbank.ua",
96
+ "tspAddressPort": "80",
97
+ "directAccess": true,
98
+ "qscdSNInCert": true,
99
+ "codeEDRPOU": "14360570"
100
+ },
101
+ {
102
+ "issuerCNs": ["КНЕДП АТ \"СЕНС БАНК\"",
103
+ "КНЕДП АЦСК АТ \"Альфа-Банк\"",
104
+ "Акредитований центр сертифікації ключів АТ \"Альфа-Банк\""],
105
+ "address": "ca.sensebank.com.ua",
106
+ "ocspAccessPointAddress": "ca.sensebank.com.ua/services/ocsp/",
107
+ "ocspAccessPointPort": "80",
108
+ "cmpAddress": "ca.sensebank.com.ua",
109
+ "tspAddress": "ca.sensebank.com.ua",
110
+ "tspAddressPort": "80",
111
+ "codeEDRPOU": "23494714",
112
+ "cmpCompatibility": 1
113
+ },
114
+ {
115
+ "issuerCNs": ["КНЕДП Акціонерного товариства “КРЕДІ АГРІКОЛЬ БАНК”",
116
+ "QTSP of Joint-stock company \"CREDIT-AGRICOLE BANK\""],
117
+ "address": "ca.credit-agricole.ua",
118
+ "ocspAccessPointAddress": "ca.credit-agricole.ua/services/ocsp/",
119
+ "ocspAccessPointPort": "80",
120
+ "cmpAddress": "ca.credit-agricole.ua",
121
+ "tspAddress": "ca.credit-agricole.ua",
122
+ "tspAddressPort": "80",
123
+ "directAccess": true,
124
+ "codeEDRPOU": "14361575"
125
+ },
126
+ {
127
+ "issuerCNs": ["КНЕДП АТ \"ПУМБ\"",
128
+ "QTSP JSC \"FUIB\""],
129
+ "address": "pki.pumb.ua",
130
+ "ocspAccessPointAddress": "pki.pumb.ua/services/ocsp/",
131
+ "ocspAccessPointPort": "80",
132
+ "cmpAddress": "pki.pumb.ua",
133
+ "tspAddress": "pki.pumb.ua",
134
+ "tspAddressPort": "80",
135
+ "directAccess": true,
136
+ "codeEDRPOU": "14282829"
137
+ },
138
+ {
139
+ "issuerCNs": ["КНЕДП ТОВ \"ДЕПОЗИТ САЙН\"",
140
+ "QTSP DEPOSIT SIGN LLC",
141
+ "QTSP of the DEPOSIT SIGN LLC"],
142
+ "address": "ca.depositsign.com",
143
+ "ocspAccessPointAddress": "ca.depositsign.com/services/ocsp/",
144
+ "ocspAccessPointPort": "80",
145
+ "cmpAddress": "ca.depositsign.com",
146
+ "tspAddress": "ca.depositsign.com/services/tsp/dstu/",
147
+ "tspAddressPort": "80",
148
+ "directAccess": true,
149
+ "codeEDRPOU": "43005049"
150
+ },
151
+ {
152
+ "issuerCNs": ["КНЕДП ТОВ \"Вчасно Сервіс\"",
153
+ "QTSP \"VCHASNO SERVICE\" LLC"],
154
+ "address": "ca.vchasno.ua",
155
+ "ocspAccessPointAddress": "ca.vchasno.ua/services/ocsp/",
156
+ "ocspAccessPointPort": "80",
157
+ "cmpAddress": "ca.vchasno.ua",
158
+ "tspAddress": "ca.vchasno.ua/services/tsp/dstu/",
159
+ "tspAddressPort": "80",
160
+ "directAccess": true,
161
+ "qscdSNInCert": true,
162
+ "codeEDRPOU": "41231992"
163
+ },
164
+ {
165
+ "issuerCNs": ["КНЕДП “ЦСК Збройних Сил України”",
166
+ "QTSP “CSK of Armed Forces of Ukraine”",
167
+ "Акредитований Центр сертифікації ключів Збройних Сил",
168
+ "Акредитований центр сертифікації ключів Збройних Сил",
169
+ "Armed Forces of Ukraine Certificate authority"],
170
+ "address": "ca.mil.gov.ua",
171
+ "ocspAccessPointAddress": "ca.mil.gov.ua/services/ocsp/",
172
+ "ocspAccessPointPort": "80",
173
+ "cmpAddress": "ca.mil.gov.ua",
174
+ "tspAddress": "ca.mil.gov.ua",
175
+ "tspAddressPort": "80",
176
+ "codeEDRPOU": "22991050"
177
+ },
178
+ {
179
+ "issuerCNs": ["КНЕДП \"Військова частина 2428\" ДПСУ",
180
+ "QTSP \"Military unit 2428\" SBGSU",
181
+ "Кваліфікований надавач ЕДП \"Військова частина 2428\"",
182
+ "АЦСК Державної прикордонної служби України"],
183
+ "address": "acsk.dpsu.gov.ua",
184
+ "ocspAccessPointAddress": "acsk.dpsu.gov.ua/services/ocsp/",
185
+ "ocspAccessPointPort": "80",
186
+ "cmpAddress": "acsk.dpsu.gov.ua",
187
+ "tspAddress": "acsk.dpsu.gov.ua",
188
+ "tspAddressPort": "80",
189
+ "qscdSNInCert": true,
190
+ "codeEDRPOU": "14321469"
191
+ },
192
+ {
193
+ "issuerCNs": ["КНЕДП НГУ"],
194
+ "address": "ca.ngu.gov.ua",
195
+ "ocspAccessPointAddress": "ca.ngu.gov.ua/services/ocsp/",
196
+ "ocspAccessPointPort": "80",
197
+ "cmpAddress": "ca.ngu.gov.ua",
198
+ "tspAddress": "ca.ngu.gov.ua",
199
+ "tspAddressPort": "80",
200
+ "directAccess": true,
201
+ "codeEDRPOU": "08803804"
202
+ },
203
+ {
204
+ "issuerCNs": ["КНЕДП \"АЦСК ринку електричної енергії\"",
205
+ "АЦСК ринку електричної енергії"],
206
+ "address": "acsk.oree.com.ua",
207
+ "ocspAccessPointAddress": "acsk.oree.com.ua/services/ocsp/",
208
+ "ocspAccessPointPort": "80",
209
+ "cmpAddress": "acsk.oree.com.ua",
210
+ "tspAddress": "acsk.oree.com.ua",
211
+ "tspAddressPort": "80",
212
+ "codeEDRPOU": "43064445"
213
+ },
214
+ {
215
+ "issuerCNs": ["КНЕДП - АЦСК МВС України",
216
+ "АЦСК МВС України",
217
+ "QTSP of the MIAU"],
218
+ "address": "ca.mvs.gov.ua",
219
+ "ocspAccessPointAddress": "ca.mvs.gov.ua/services/ocsp/",
220
+ "ocspAccessPointPort": "80",
221
+ "cmpAddress": "ca.mvs.gov.ua",
222
+ "tspAddress": "ca.mvs.gov.ua",
223
+ "tspAddressPort": "80",
224
+ "codeEDRPOU": "00032684"
225
+ },
226
+ {
227
+ "issuerCNs": ["КНЕДП Служби зовнішньої розвідки України",
228
+ "QTSP of Foreign Intelligence Service of Ukraine"],
229
+ "address": "ca.szru.gov.ua",
230
+ "ocspAccessPointAddress": "ca.szru.gov.ua/services/ocsp/",
231
+ "ocspAccessPointPort": "80",
232
+ "cmpAddress": "ca.szru.gov.ua",
233
+ "tspAddress": "ca.szru.gov.ua",
234
+ "tspAddressPort": "80",
235
+ "directAccess": true,
236
+ "codeEDRPOU": "33240845"
237
+ },
238
+ {
239
+ "issuerCNs": ["АЦСК Національного банку України",
240
+ "National Bank of Ukraine Certificate authority ECDSA"],
241
+ "address": "canbu.bank.gov.ua",
242
+ "ocspAccessPointAddress": "canbu.bank.gov.ua/services/ocsp/",
243
+ "ocspAccessPointPort": "80",
244
+ "cmpAddress": "canbu.bank.gov.ua",
245
+ "tspAddress": "canbu.bank.gov.ua",
246
+ "tspAddressPort": "80",
247
+ "codeEDRPOU": "00032106"
248
+ },
249
+ {
250
+ "issuerCNs": ["КНЕДП АТ \"ПРАВЕКС БАНК\"",
251
+ "QTSP-RSA of \"PRAVEX BANK\" JSC",
252
+ "QTSP-ECDSA of \"PRAVEX BANK\" JSC"],
253
+ "address": "ca.pravex.com.ua",
254
+ "ocspAccessPointAddress": "ca.pravex.com.ua/services/ocsp/",
255
+ "ocspAccessPointPort": "80",
256
+ "cmpAddress": "ca.pravex.com.ua",
257
+ "tspAddress": "ca.pravex.com.ua",
258
+ "tspAddressPort": "80",
259
+ "directAccess": true,
260
+ "codeEDRPOU": "14360920"
261
+ },
262
+ {
263
+ "issuerCNs": ["КНЕДП АТ \"ТАСКОМБАНК\"",
264
+ "QTSP-RSA of JSC TASCOMBANK",
265
+ "QTSP-ECDSA of JSC TASCOMBANK"],
266
+ "address": "ca.tascombank.ua",
267
+ "ocspAccessPointAddress": "ca.tascombank.ua/services/ocsp/",
268
+ "ocspAccessPointPort": "80",
269
+ "cmpAddress": "ca.tascombank.ua",
270
+ "tspAddress": "ca.tascombank.ua",
271
+ "tspAddressPort": "80",
272
+ "codeEDRPOU": "09806443"
273
+ },
274
+ {
275
+ "issuerCNs": ["КНЕДП ТОВ \"АМО ФІНТЕХ\""],
276
+ "address": "amokey.com.ua",
277
+ "ocspAccessPointAddress": "amokey.com.ua/services/ocsp/",
278
+ "ocspAccessPointPort": "80",
279
+ "cmpAddress": "amokey.com.ua",
280
+ "tspAddress": "amokey.com.ua",
281
+ "tspAddressPort": "80",
282
+ "codeEDRPOU": "44669502"
283
+ },
284
+ {
285
+ "issuerCNs": ["КНЕДП ТОВ \"Центр сертифікації ключів \"Україна\"",
286
+ "АЦСК ТОВ \"Центр сертифікації ключів \"Україна\"",
287
+ "ТОВ \"Центр сертифікації ключів \"Україна\""],
288
+ "address": "uakey.com.ua",
289
+ "ocspAccessPointAddress": "uakey.com.ua/services/ocsp/",
290
+ "ocspAccessPointPort": "80",
291
+ "cmpAddress": "uakey.com.ua",
292
+ "tspAddress": "uakey.com.ua",
293
+ "tspAddressPort": "80",
294
+ "directAccess": true,
295
+ "cmpCompatibility": 3,
296
+ "codeEDRPOU": "36865753"
297
+ },
298
+ {
299
+ "issuerCNs": ["КНЕДП Казначейства",
300
+ "Кваліфікований надавач ЕДП \"Казначейство\"",
301
+ "АЦСК Державної казначейської служби України",
302
+ "ЦСК Державної казначейської служби України"],
303
+ "address": "ca.treasury.gov.ua",
304
+ "ocspAccessPointAddress": "ca.treasury.gov.ua",
305
+ "ocspAccessPointPort": "43222",
306
+ "cmpAddress": "",
307
+ "tspAddress": "ca.treasury.gov.ua",
308
+ "tspAddressPort": "43221",
309
+ "certsInKey": true,
310
+ "cmpCompatibility": 0,
311
+ "codeEDRPOU": "37567646"
312
+ },
313
+ {
314
+ "issuerCNs": ["КНЕДП АТ \"Ощадбанк\"",
315
+ "QTSP-RSA of JSC \"Oschadbank\"",
316
+ "QTSP-ECDSA of JSC \"Oschadbank\"",
317
+ "КНЕДП ЦСК АТ \"Ощадбанк\"",
318
+ "КНЕДП ЦСК АТ «Ощадбанк»",
319
+ "Акредитований центр сертифікації ключів АТ \"Ощадбанк\""],
320
+ "address": "ca.oschadbank.ua",
321
+ "ocspAccessPointAddress": "ca.oschadbank.ua/public/ocsp",
322
+ "ocspAccessPointPort": "80",
323
+ "cmpAddress": "",
324
+ "tspAddress": "ca.oschadbank.ua/public/tsp",
325
+ "tspAddressPort": "80",
326
+ "certsInKey": true,
327
+ "cmpCompatibility": 0,
328
+ "codeEDRPOU": "00032129"
329
+ },
330
+ {
331
+ "issuerCNs": ["КНЕДП органів прокуратури України",
332
+ "QTSP of the Prosecution Bodies of Ukraine",
333
+ "АЦСК Генеральної прокуратури України"],
334
+ "address": "ca.gp.gov.ua",
335
+ "ocspAccessPointAddress": "ca.gp.gov.ua/ocsp",
336
+ "ocspAccessPointPort": "80",
337
+ "cmpAddress": "ca.gp.gov.ua/cmp",
338
+ "tspAddress": "ca.gp.gov.ua/tsp",
339
+ "tspAddressPort": "80",
340
+ "certsInKey": true,
341
+ "cmpCompatibility": 1,
342
+ "codeEDRPOU": "00034051"
343
+ },
344
+ {
345
+ "issuerCNs": ["КНЕДП СБ України",
346
+ "QTSP SSU"],
347
+ "address": "knedp.ssu.gov.ua",
348
+ "ocspAccessPointAddress": "va1-knedp.ssu.gov.ua/services/ocsp/",
349
+ "ocspAccessPointPort": "80",
350
+ "cmpAddress": "va1-knedp.ssu.gov.ua/services/cmp/",
351
+ "tspAddress": "va1-knedp.ssu.gov.ua/services/tsp/",
352
+ "tspAddressPort": "80",
353
+ "cmpCompatibility": 3,
354
+ "codeEDRPOU": "00034074"
355
+ },
356
+ {
357
+ "issuerCNs": ["КНЕДП ЦЕЗАРІС TOB \"Інтер-Метл\"",
358
+ "\"АЦСК TOB 'Інтер-Метл'\""],
359
+ "address": "cesaris.itsway.kiev.ua",
360
+ "ocspAccessPointAddress": "cesaris.itsway.kiev.ua/services/ocsp/",
361
+ "ocspAccessPointPort": "80",
362
+ "cmpAddress": "",
363
+ "tspAddress": "cesaris.itsway.kiev.ua/services/tsp/",
364
+ "tspAddressPort": "80",
365
+ "certsInKey": true,
366
+ "directAccess": true,
367
+ "cmpCompatibility": 0,
368
+ "codeEDRPOU": "25279440"
369
+ },
370
+ {
371
+ "issuerCNs": ["КНЕДП \"eSign\" ТОВ \"Ілайф\""],
372
+ "address": "ca.e-life.com.ua",
373
+ "ocspAccessPointAddress": "ocsp.e-life.com.ua",
374
+ "ocspAccessPointPort": "80",
375
+ "cmpAddress": "cmp.e-life.com.ua/api/PKI/CMP",
376
+ "tspAddress": "tsp.e-life.com.ua",
377
+ "tspAddressPort": "80",
378
+ "certsInKey": false,
379
+ "directAccess": true,
380
+ "cmpCompatibility": 3,
381
+ "codeEDRPOU": "36049014"
382
+ },
383
+ {
384
+ "issuerCNs": ["КНЕДП АТ \"БАНК АЛЬЯНС\"",
385
+ "QTSP-RSA of JSC \"Bank Alliance\"",
386
+ "QTSP-ECDSA of JSC \"Bank Alliance\""],
387
+ "address": "ca.bankalliance.ua",
388
+ "ocspAccessPointAddress": "ca.bankalliance.ua/ocsp",
389
+ "ocspAccessPointPort": "80",
390
+ "cmpAddress": "ca.bankalliance.ua/cmp",
391
+ "tspAddress": "ca.bankalliance.ua/tsp",
392
+ "tspAddressPort": "80",
393
+ "certsInKey": true,
394
+ "cmpCompatibility": 3,
395
+ "codeEDRPOU": "14360506"
396
+ },
397
+ {
398
+ "issuerCNs": ["КНЕДП АБ \"УКРГАЗБАНК\"",
399
+ "QTSP-RSA of JSB \"UKRGASBANK\"",
400
+ "QTSP-ECDSA of JSB \"UKRGASBANK\""],
401
+ "address": "qca.ukrgasbank.com",
402
+ "ocspAccessPointAddress": "qca.ukrgasbank.com/ocsp",
403
+ "ocspAccessPointPort": "80",
404
+ "cmpAddress": "qca.ukrgasbank.com/cmp",
405
+ "tspAddress": "qca.ukrgasbank.com/tsp",
406
+ "tspAddressPort": "80",
407
+ "certsInKey": true,
408
+ "cmpCompatibility": 1,
409
+ "codeEDRPOU": "23697280"
410
+ },
411
+ {
412
+ "issuerCNs": ["КНЕДП monobank | Universal Bank",
413
+ "QTSP monobank | Universal Bank"],
414
+ "address": "ca.monobank.ua",
415
+ "ocspAccessPointAddress": "ca.monobank.ua/services/ocsp/dstu/",
416
+ "ocspAccessPointPort": "80",
417
+ "cmpAddress": "ca.monobank.ua/services/cmp/",
418
+ "tspAddress": "ca.monobank.ua/services/tsp/dstu/",
419
+ "tspAddressPort": "80",
420
+ "directAccess": false,
421
+ "cmpCompatibility": 3,
422
+ "codeEDRPOU": "21133352"
423
+ }
424
+ ]
@@ -0,0 +1,14 @@
1
+ [
2
+ {
3
+ "issuerCNs": ["Тестовий надавач електронних довірчих послуг",
4
+ "Адміністратор ІТС ЦЗО (CA TEST)",
5
+ "Administrator ITS CCA (CA TEST)"],
6
+ "address": "ca-test.czo.gov.ua",
7
+ "ocspAccessPointAddress": "ca-test.czo.gov.ua/services/ocsp/",
8
+ "ocspAccessPointPort": "80",
9
+ "cmpAddress": "ca-test.czo.gov.ua",
10
+ "tspAddress": "ca-test.czo.gov.ua",
11
+ "tspAddressPort": "80",
12
+ "directAccess": true
13
+ }
14
+ ]
@@ -0,0 +1,73 @@
1
+ const { exec } = require('child_process');
2
+ const fs = require('fs');
3
+ const http = require('http');
4
+
5
+
6
+ function getLastModified(url) {
7
+ return new Promise((resolve, reject) => {
8
+ const options = {
9
+ method: 'HEAD',
10
+ };
11
+
12
+ const req = http.request(url, options, (res) => {
13
+ if (res.statusCode !== 200) {
14
+ reject(new Error(`Request failed with status code ${res.statusCode}`));
15
+ }
16
+
17
+ const lastModified = res.headers['last-modified'];
18
+ resolve(lastModified);
19
+ });
20
+
21
+ req.on('error', (error) => {
22
+ reject(error);
23
+ });
24
+
25
+ req.end();
26
+ });
27
+ }
28
+
29
+
30
+ // Check if file was updated with Git
31
+ exec('git diff --name-only', (error, stdout, stderr) => {
32
+ if (error) {
33
+ console.error(`Error executing Git command: ${error}`);
34
+ return;
35
+ }
36
+
37
+ if (stdout.includes('src/files/CACertificates.p7b')) {
38
+ // File was updated, retrieve current npm package version
39
+ const packageJson = JSON.parse(fs.readFileSync('package.json'));
40
+ const currentVersion = packageJson.version;
41
+
42
+ // Increment the patch version
43
+ const versionParts = currentVersion.split('.');
44
+ const patchVersion = parseInt(versionParts[2]) + 1;
45
+ const newVersion = `${versionParts[0]}.${versionParts[1]}.${patchVersion}`;
46
+
47
+ // Update the package version in package.json
48
+ packageJson.version = newVersion;
49
+ fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2));
50
+
51
+ // Append version and changelog information to CHANGELOG.md
52
+ getLastModified('http://iit.com.ua/download/productfiles/CACertificates.p7b').then((lastModified) => {
53
+ const changelogContent = `${currentVersion} -> ${newVersion}\n==================\n\n- Update certificates (${lastModified})\n\n${fs.readFileSync('CHANGELOG.md')}`;
54
+ fs.writeFileSync('CHANGELOG.md', changelogContent);
55
+ }).catch((error) => {
56
+ console.error(`Error retrieving last modified date: ${error}`);
57
+ const changelogContent = `${currentVersion} -> ${newVersion}\n==================\n\n- Update certificates ()\n\n${fs.readFileSync('CHANGELOG.md')}`;
58
+ fs.writeFileSync('CHANGELOG.md', changelogContent);
59
+ });
60
+
61
+ console.log(`File 'CACertificates.p7b' was updated. Package version patched to ${newVersion}.`);
62
+ exec('npm i --package-lock-only', (error, stdout, stderr) => {
63
+ if (error) {
64
+ console.error(`Error executing npm command: ${error}`);
65
+ return;
66
+ }
67
+
68
+ console.log('Package-lock.json updated. Please commit the changes.');
69
+ });
70
+ } else {
71
+ console.log("File 'CACertificates.p7b' was not updated. Exiting script.");
72
+ }
73
+ });