barocert 1.7.0 → 1.8.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/barocert/tosscert.rb +502 -0
  3. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c1016bdb6f3e3149bcd1a7222f84ce9b10e11b1c1344fe13c07ddea2a427a9a2
4
- data.tar.gz: 00e420ba57ee70ab622936cbad3e122c17ff2322b638bc4ad021f6654026ecbf
3
+ metadata.gz: 355127d39a5e957956c34bd70fde08fa7510ca816c4b046fb9051f499d88464b
4
+ data.tar.gz: 2ede115c19bdd87653cc4076650d40f79ccfdd43ae13fd81c9a8525dff3126b6
5
5
  SHA512:
6
- metadata.gz: cfc43a1bd297e496bfb7e7cf50b74e1e43591f23d61ef8d5f72bfeae05e110884ec537ba0be6d5d5e62cd38c276508b778344e72db8045c7b92a654eb87981f8
7
- data.tar.gz: 6710bb7b0311510b8877711a1b71319be546da863e2c8b5a15145411e80542af9a9a3f1b032adc654132aaa728febac0bc5f841eed7f3c68481294f430cef2e2
6
+ metadata.gz: d7f236a67ed09fd3dbc08f3444310aab2e56ddd0ad7f4b45673adaefba13ce7c81dd5c1bb9525233596362099f792f71686558528c24b77b7724a6e939eb1081
7
+ data.tar.gz: 9fd10b831bb7d8db6696b0eb53fc2f3cea0f0aff768169bff73b7f48ee104adf22a20fde539cd01cae17b42ca4f7c493b6d7d46a49a0438aec272aec841df923
@@ -0,0 +1,502 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative '../barocert.rb'
3
+ require 'digest'
4
+ require 'openssl'
5
+ require 'base64'
6
+
7
+ # tosscert API BaseService class
8
+ class TosscertService < BarocertService
9
+ # Generate Linkhub Class Singleton Instance
10
+ class << self
11
+ def instance(linkID, secretKey)
12
+ super(linkID, secretKey)
13
+ @instance ||= new
14
+ @instance.addScope("461")
15
+ @instance.addScope("462")
16
+ @instance.addScope("463")
17
+ @instance.addScope("464")
18
+ @instance.addScope("465")
19
+ return @instance
20
+ end
21
+ private :new
22
+ end
23
+
24
+ def _sha256_base64url(target)
25
+ return self.sha256Base64urlFile(target)
26
+ end
27
+
28
+ def _sha256_base64url_file(target)
29
+ return self.sha256Base64urlFile(target)
30
+ end
31
+
32
+ def _encrypt(plaintext)
33
+ return aes256gcm(plaintext, @linkhub._secretKey)
34
+ end
35
+
36
+ def aes256gcm(plaintext, key)
37
+ iv = OpenSSL::Random.random_bytes(12)
38
+ cipher = OpenSSL::Cipher.new('aes-256-gcm')
39
+ cipher.encrypt
40
+ cipher.key = Base64.decode64(key)
41
+ cipher.iv = iv
42
+ ciphertext = cipher.update(plaintext) + cipher.final
43
+ return Base64.strict_encode64(iv + ciphertext + cipher.auth_tag)
44
+ end
45
+
46
+ def isNumber(str)
47
+ return str.is_i?
48
+ end
49
+
50
+ def isNullorEmptyTokenType(tokens)
51
+ if tokens.nil?
52
+ return true
53
+ end
54
+ tokens.each{ |token|
55
+ if token.nil?
56
+ return true
57
+ end
58
+ if token["tokenType"].to_s == ''
59
+ return true
60
+ end
61
+ }
62
+ false
63
+ end
64
+
65
+ def isNullorEmptyToken(tokens)
66
+ if tokens.nil?
67
+ return true
68
+ end
69
+ tokens.each{ |token|
70
+ if token.nil?
71
+ return true
72
+ end
73
+ if token["token"].to_s == ''
74
+ return true
75
+ end
76
+ }
77
+ false
78
+ end
79
+
80
+ def requestUserIdentity(clientCode, identity)
81
+
82
+ if clientCode.to_s == ''
83
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
84
+ end
85
+ if clientCode.is_i? == false
86
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
87
+ end
88
+ if clientCode.length != 12
89
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
90
+ end
91
+ if identity.nil?
92
+ raise BarocertException.new('-99999999', '본인확인 서명요청 정보가 입력되지 않았습니다.')
93
+ end
94
+ if identity["receiverHP"].to_s == ''
95
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
96
+ end
97
+ if identity["receiverName"].to_s == ''
98
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
99
+ end
100
+ if identity["receiverBirthday"].to_s == ''
101
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
102
+ end
103
+ if identity["expireIn"].to_s == ''
104
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
105
+ end
106
+
107
+ httppost("/TOSS/UserIdentity/#{clientCode}", identity.to_json)
108
+ end
109
+
110
+ def getUserIdentityStatus(clientCode, receiptID)
111
+ puts receiptID
112
+ if clientCode.to_s == ''
113
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
114
+ end
115
+ if clientCode.is_i? == false
116
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
117
+ end
118
+ if clientCode.length != 12
119
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
120
+ end
121
+ if receiptID.to_s == ''
122
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
123
+ end
124
+ if receiptID.is_i? == false
125
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
126
+ end
127
+ if receiptID.length != 32
128
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
129
+ end
130
+
131
+ httpget("/TOSS/UserIdentity/#{clientCode}/#{receiptID}")
132
+ end
133
+
134
+ def verifyUserIdentity(clientCode, receiptID)
135
+ if clientCode.to_s == ''
136
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
137
+ end
138
+ if clientCode.is_i? == false
139
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
140
+ end
141
+ if clientCode.length != 12
142
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
143
+ end
144
+ if receiptID.to_s == ''
145
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
146
+ end
147
+ if receiptID.is_i? == false
148
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
149
+ end
150
+ if receiptID.length != 32
151
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
152
+ end
153
+
154
+ httppost("/TOSS/UserIdentity/Verify/#{clientCode}/#{receiptID}")
155
+ end
156
+
157
+ def requestIdentity(clientCode, identity)
158
+
159
+ if clientCode.to_s == ''
160
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
161
+ end
162
+ if clientCode.is_i? == false
163
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
164
+ end
165
+ if clientCode.length != 12
166
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
167
+ end
168
+ if identity.nil?
169
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
170
+ end
171
+ if identity["receiverHP"].to_s == ''
172
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
173
+ end
174
+ if identity["receiverName"].to_s == ''
175
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
176
+ end
177
+ if identity["receiverBirthday"].to_s == ''
178
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
179
+ end
180
+
181
+ if identity["expireIn"].to_s == ''
182
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
183
+ end
184
+
185
+ httppost("/TOSS/Identity/#{clientCode}", identity.to_json)
186
+ end
187
+
188
+ def getIdentityStatus(clientCode, receiptID)
189
+ puts receiptID
190
+ if clientCode.to_s == ''
191
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
192
+ end
193
+ if clientCode.is_i? == false
194
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
195
+ end
196
+ if clientCode.length != 12
197
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
198
+ end
199
+ if receiptID.to_s == ''
200
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
201
+ end
202
+ if receiptID.is_i? == false
203
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
204
+ end
205
+ if receiptID.length != 32
206
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
207
+ end
208
+
209
+ httpget("/TOSS/Identity/#{clientCode}/#{receiptID}")
210
+ end
211
+
212
+ def verifyIdentity(clientCode, receiptID)
213
+ if clientCode.to_s == ''
214
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
215
+ end
216
+ if clientCode.is_i? == false
217
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
218
+ end
219
+ if clientCode.length != 12
220
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
221
+ end
222
+ if receiptID.to_s == ''
223
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
224
+ end
225
+ if receiptID.is_i? == false
226
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
227
+ end
228
+ if receiptID.length != 32
229
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
230
+ end
231
+
232
+ httppost("/TOSS/Identity/Verify/#{clientCode}/#{receiptID}")
233
+ end
234
+
235
+ def requestSign(clientCode, sign)
236
+ if clientCode.to_s == ''
237
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
238
+ end
239
+ if clientCode.is_i? == false
240
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
241
+ end
242
+ if clientCode.length != 12
243
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
244
+ end
245
+ if sign.nil?
246
+ raise BarocertException.new('-99999999', '전자서명 서명요청 정보가 입력되지 않았습니다.')
247
+ end
248
+ if sign["receiverHP"].to_s == ''
249
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
250
+ end
251
+ if sign["receiverName"].to_s == ''
252
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
253
+ end
254
+ if sign["receiverBirthday"].to_s == ''
255
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
256
+ end
257
+
258
+ if sign["reqTitle"].to_s == ''
259
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
260
+ end
261
+
262
+ if sign["expireIn"].to_s == ''
263
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
264
+ end
265
+
266
+ if sign["token"].to_s == ''
267
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
268
+ end
269
+
270
+ if sign["tokenType"].to_s == ''
271
+ raise BarocertException.new('-99999999', '원문 유형이 입력되지 않았습니다.')
272
+ end
273
+ httppost("/TOSS/Sign/#{clientCode}", sign.to_json)
274
+ end
275
+
276
+ def getSignStatus(clientCode, receiptID)
277
+ if clientCode.to_s == ''
278
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
279
+ end
280
+ if clientCode.is_i? == false
281
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
282
+ end
283
+ if clientCode.length != 12
284
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
285
+ end
286
+ if receiptID.to_s == ''
287
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
288
+ end
289
+ if receiptID.is_i? == false
290
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
291
+ end
292
+ if receiptID.length != 32
293
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
294
+ end
295
+
296
+ httpget("/TOSS/Sign/#{clientCode}/#{receiptID}")
297
+ end
298
+
299
+ def verifySign(clientCode, receiptID)
300
+ if clientCode.to_s == ''
301
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
302
+ end
303
+ if clientCode.is_i? == false
304
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
305
+ end
306
+ if clientCode.length != 12
307
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
308
+ end
309
+ if receiptID.to_s == ''
310
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
311
+ end
312
+ if receiptID.is_i? == false
313
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
314
+ end
315
+ if receiptID.length != 32
316
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
317
+ end
318
+
319
+ httppost("/TOSS/Sign/Verify/#{clientCode}/#{receiptID}")
320
+ end
321
+
322
+ def requestMultiSign(clientCode, multiSign)
323
+ if clientCode.to_s == ''
324
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
325
+ end
326
+ if clientCode.is_i? == false
327
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
328
+ end
329
+ if clientCode.length != 12
330
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
331
+ end
332
+ if multiSign.nil?
333
+ raise BarocertException.new('-99999999', '전자서명 요청정보가 입력되지 않았습니다.')
334
+ end
335
+ if multiSign["receiverHP"].to_s == ''
336
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
337
+ end
338
+ if multiSign["receiverName"].to_s == ''
339
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
340
+ end
341
+ if multiSign["receiverBirthday"].to_s == ''
342
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
343
+ end
344
+
345
+ if multiSign["expireIn"].to_s == ''
346
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
347
+ end
348
+
349
+ if isNullorEmptyToken(multiSign["tokens"])
350
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
351
+ end
352
+
353
+ if isNullorEmptyTokenType(multiSign["tokens"])
354
+ raise BarocertException.new('-99999999', '원문 유형이 입력되지 않았습니다.')
355
+ end
356
+
357
+ httppost("/TOSS/MultiSign/#{clientCode}", multiSign.to_json)
358
+ end
359
+
360
+ def getMultiSignStatus(clientCode, receiptID)
361
+ if clientCode.to_s == ''
362
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
363
+ end
364
+ if clientCode.is_i? == false
365
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
366
+ end
367
+ if clientCode.length != 12
368
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
369
+ end
370
+ if receiptID.to_s == ''
371
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
372
+ end
373
+ if receiptID.is_i? == false
374
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
375
+ end
376
+ if receiptID.length != 32
377
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
378
+ end
379
+
380
+ httpget("/TOSS/MultiSign/#{clientCode}/#{receiptID}")
381
+ end
382
+
383
+ def verifyMultiSign(clientCode, receiptID)
384
+ if clientCode.to_s == ''
385
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
386
+ end
387
+ if clientCode.is_i? == false
388
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
389
+ end
390
+ if clientCode.length != 12
391
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
392
+ end
393
+ if receiptID.to_s == ''
394
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
395
+ end
396
+ if receiptID.is_i? == false
397
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
398
+ end
399
+ if receiptID.length != 32
400
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
401
+ end
402
+
403
+ httppost("/TOSS/MultiSign/Verify/#{clientCode}/#{receiptID}")
404
+ end
405
+
406
+ def requestCMS(clientCode, cms)
407
+
408
+ if clientCode.to_s == ''
409
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
410
+ end
411
+ if clientCode.is_i? == false
412
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
413
+ end
414
+ if clientCode.length != 12
415
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
416
+ end
417
+ if cms.nil?
418
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
419
+ end
420
+ if cms["receiverHP"].to_s == ''
421
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
422
+ end
423
+ if cms["receiverName"].to_s == ''
424
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
425
+ end
426
+ if cms["receiverBirthday"].to_s == ''
427
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
428
+ end
429
+ if cms["expireIn"].to_s == ''
430
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
431
+ end
432
+ if cms["requestCorp"].to_s == ''
433
+ raise BarocertException.new('-99999999', '청구기관명이 입력되지 않았습니다.')
434
+ end
435
+ if cms["bankName"].to_s == ''
436
+ raise BarocertException.new('-99999999', '은행명이 입력되지 않았습니다.')
437
+ end
438
+ if cms["bankAccountNum"].to_s == ''
439
+ raise BarocertException.new('-99999999', '계좌번호가 입력되지 않았습니다.')
440
+ end
441
+ if cms["bankAccountName"].to_s == ''
442
+ raise BarocertException.new('-99999999', '예금주명이 입력되지 않았습니다.')
443
+ end
444
+ if cms["bankAccountBirthday"].to_s == ''
445
+ raise BarocertException.new('-99999999', '예금주 생년월일이 입력되지 않았습니다.')
446
+ end
447
+ httppost("/TOSS/CMS/#{clientCode}", cms.to_json)
448
+ end
449
+
450
+ def getCMSStatus(clientCode, receiptID)
451
+ puts receiptID
452
+ if clientCode.to_s == ''
453
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
454
+ end
455
+ if clientCode.is_i? == false
456
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
457
+ end
458
+ if clientCode.length != 12
459
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
460
+ end
461
+ if receiptID.to_s == ''
462
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
463
+ end
464
+ if receiptID.is_i? == false
465
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
466
+ end
467
+ if receiptID.length != 32
468
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
469
+ end
470
+
471
+ httpget("/TOSS/CMS/#{clientCode}/#{receiptID}")
472
+ end
473
+
474
+ def verifyCMS(clientCode, receiptID)
475
+ if clientCode.to_s == ''
476
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
477
+ end
478
+ if clientCode.is_i? == false
479
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
480
+ end
481
+ if clientCode.length != 12
482
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
483
+ end
484
+ if receiptID.to_s == ''
485
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
486
+ end
487
+ if receiptID.is_i? == false
488
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
489
+ end
490
+ if receiptID.length != 32
491
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
492
+ end
493
+
494
+ httppost("/TOSS/CMS/Verify/#{clientCode}/#{receiptID}")
495
+ end
496
+ end
497
+
498
+ class String
499
+ def is_i?
500
+ !!(self =~ /^\d+$/)
501
+ end
502
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: barocert
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Linkhub Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-09-08 00:00:00.000000000 Z
11
+ date: 2025-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linkhub
@@ -34,7 +34,8 @@ files:
34
34
  - lib/barocert/kakaocert.rb
35
35
  - lib/barocert/navercert.rb
36
36
  - lib/barocert/passcert.rb
37
- homepage: https://github.com/barocert/barocert.ruby
37
+ - lib/barocert/tosscert.rb
38
+ homepage:
38
39
  licenses:
39
40
  - MIT
40
41
  metadata: {}