barocert 1.1.1 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c808c567759bf5edd19f21d087867174eed7fd823151b11a05635ff99cb93a80
4
- data.tar.gz: 06d30b281bc8e78233a1c7a2d3882d0059fce273704c5108a7ab431b36ce1a5c
3
+ metadata.gz: a4a46b9b6127298434c8c1a6763c4ed9eac6fc79748515e169abc54d5650ede8
4
+ data.tar.gz: e169439978bcfd675357ec61e6d52e51bce572581040f85dd557681f9f023c38
5
5
  SHA512:
6
- metadata.gz: 8e916c4083266365861417a6c9e3df5ea084a7c1ea012e9c87fcc00a0d9fb239e2aabdfd4ecdde38e410eb7faf742bfd98ba4ba42dab01d91018baa84a59afc2
7
- data.tar.gz: 5b974f9e73e1a55e00c97892b0236d2312c916f64bab8a01285252727f0ffe0d96cd1728dc36427e039a70d282cbe95a2b0eba67f81528d83e2070365a62f017
6
+ metadata.gz: 186137560001d949907c27a4577791e26f8e11ee563f195a28c6a673b9c22363f869ad17c3f8c9d3a61a875cb7828f25c5d7a5a1f9eb45d8e67edd33b2356b21
7
+ data.tar.gz: f4bd4317c949df844e91bca92735b5b80b910e2063db09eb653bcdf919962389586e88ab529008ad9cbf9164383b81a299ed23f6ccf8733dfd3a43c252341027
@@ -80,7 +80,7 @@ class KakaocertService < BarocertService
80
80
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
81
81
  end
82
82
  if identity.nil?
83
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
83
+ raise BarocertException.new('-99999999', '본인인증 요청정보가 입력되지 않았습니다.')
84
84
  end
85
85
  if identity["receiverHP"].to_s == ''
86
86
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -165,7 +165,7 @@ class KakaocertService < BarocertService
165
165
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
166
166
  end
167
167
  if sign.nil?
168
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
168
+ raise BarocertException.new('-99999999', '전자서명 요청정보가 입력되지 않았습니다.')
169
169
  end
170
170
  if sign["receiverHP"].to_s == ''
171
171
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -252,7 +252,7 @@ class KakaocertService < BarocertService
252
252
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
253
253
  end
254
254
  if multiSign.nil?
255
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
255
+ raise BarocertException.new('-99999999', '전자서명 요청정보가 입력되지 않았습니다.')
256
256
  end
257
257
  if multiSign["receiverHP"].to_s == ''
258
258
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -344,7 +344,7 @@ class KakaocertService < BarocertService
344
344
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
345
345
  end
346
346
  if cms.nil?
347
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
347
+ raise BarocertException.new('-99999999', '출금동의 요청정보가 입력되지 않았습니다.')
348
348
  end
349
349
  if cms["receiverHP"].to_s == ''
350
350
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -0,0 +1,351 @@
1
+ # -*- coding: utf-8 -*-
2
+ require_relative '../barocert.rb'
3
+ require 'openssl'
4
+ require 'base64'
5
+
6
+ # navercert API BaseService class
7
+ class NavercertService < BarocertService
8
+ # Generate Linkhub Class Singleton Instance
9
+ class << self
10
+ def instance(linkID, secretKey)
11
+ super(linkID, secretKey)
12
+ @instance ||= new
13
+ @instance.addScope("421")
14
+ @instance.addScope("422")
15
+ @instance.addScope("423")
16
+ return @instance
17
+ end
18
+ private :new
19
+ end
20
+
21
+ def _encrypt(plaintext)
22
+ return aes256gcm(plaintext, @linkhub._secretKey)
23
+ end
24
+
25
+ def aes256gcm(plaintext, key)
26
+ iv = OpenSSL::Random.random_bytes(12)
27
+ cipher = OpenSSL::Cipher.new('aes-256-gcm')
28
+ cipher.encrypt
29
+ cipher.key = Base64.decode64(key)
30
+ cipher.iv = iv
31
+ ciphertext = cipher.update(plaintext) + cipher.final
32
+ return Base64.strict_encode64(iv + ciphertext + cipher.auth_tag)
33
+ end
34
+
35
+ def isNumber(str)
36
+ return str.is_i?
37
+ end
38
+
39
+ def isNullorEmptyTokenType(tokens)
40
+ if tokens.nil?
41
+ return true
42
+ end
43
+ tokens.each{ |token|
44
+ if token.nil?
45
+ return true
46
+ end
47
+ if token["tokenType"].to_s == ''
48
+ return true
49
+ end
50
+ }
51
+ false
52
+ end
53
+
54
+ def isNullorEmptyToken(tokens)
55
+ if tokens.nil?
56
+ return true
57
+ end
58
+ tokens.each{ |token|
59
+ if token.nil?
60
+ return true
61
+ end
62
+ if token["token"].to_s == ''
63
+ return true
64
+ end
65
+ }
66
+ false
67
+ end
68
+
69
+ def requestIdentity(clientCode, identity)
70
+
71
+ if clientCode.to_s == ''
72
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
73
+ end
74
+ if clientCode.is_i? == false
75
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
76
+ end
77
+ if clientCode.length != 12
78
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
79
+ end
80
+ if identity.nil?
81
+ raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
82
+ end
83
+ if identity["receiverHP"].to_s == ''
84
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
85
+ end
86
+ if identity["receiverName"].to_s == ''
87
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
88
+ end
89
+ if identity["receiverBirthday"].to_s == ''
90
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
91
+ end
92
+
93
+ if identity["reqTitle"].to_s == ''
94
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
95
+ end
96
+
97
+ if identity["callCenterNum"].to_s == ''
98
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
99
+ end
100
+
101
+ if identity["expireIn"].to_s == ''
102
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
103
+ end
104
+
105
+ httppost("/NAVER/Identity/#{clientCode}", identity.to_json)
106
+ end
107
+
108
+ def getIdentityStatus(clientCode, receiptID)
109
+ puts receiptID
110
+ if clientCode.to_s == ''
111
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
112
+ end
113
+ if clientCode.is_i? == false
114
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
115
+ end
116
+ if clientCode.length != 12
117
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
118
+ end
119
+ if receiptID.to_s == ''
120
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
121
+ end
122
+ if receiptID.is_i? == false
123
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
124
+ end
125
+ if receiptID.length != 32
126
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
127
+ end
128
+
129
+ httpget("/NAVER/Identity/#{clientCode}/#{receiptID}")
130
+ end
131
+
132
+ def verifyIdentity(clientCode, receiptID)
133
+ if clientCode.to_s == ''
134
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
135
+ end
136
+ if clientCode.is_i? == false
137
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
138
+ end
139
+ if clientCode.length != 12
140
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
141
+ end
142
+ if receiptID.to_s == ''
143
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
144
+ end
145
+ if receiptID.is_i? == false
146
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
147
+ end
148
+ if receiptID.length != 32
149
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
150
+ end
151
+
152
+ httppost("/NAVER/Identity/#{clientCode}/#{receiptID}")
153
+ end
154
+
155
+ def requestSign(clientCode, sign)
156
+ if clientCode.to_s == ''
157
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
158
+ end
159
+ if clientCode.is_i? == false
160
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
161
+ end
162
+ if clientCode.length != 12
163
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
164
+ end
165
+ if sign.nil?
166
+ raise BarocertException.new('-99999999', '전자서명 서명요청 정보가 입력되지 않았습니다.')
167
+ end
168
+ if sign["receiverHP"].to_s == ''
169
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
170
+ end
171
+ if sign["receiverName"].to_s == ''
172
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
173
+ end
174
+ if sign["receiverBirthday"].to_s == ''
175
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
176
+ end
177
+
178
+ if sign["reqTitle"].to_s == ''
179
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
180
+ end
181
+
182
+ if sign["reqMessage"].to_s == ''
183
+ raise BarocertException.new('-99999999', '인증요청 메시지가 입력되지 않았습니다.')
184
+ end
185
+
186
+ if sign["callCenterNum"].to_s == ''
187
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
188
+ end
189
+
190
+ if sign["expireIn"].to_s == ''
191
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
192
+ end
193
+
194
+ if sign["token"].to_s == ''
195
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
196
+ end
197
+
198
+ if sign["tokenType"].to_s == ''
199
+ raise BarocertException.new('-99999999', '원문 유형이 입력되지 않았습니다.')
200
+ end
201
+ httppost("/NAVER/Sign/#{clientCode}", sign.to_json)
202
+ end
203
+
204
+ def getSignStatus(clientCode, receiptID)
205
+ if clientCode.to_s == ''
206
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
207
+ end
208
+ if clientCode.is_i? == false
209
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
210
+ end
211
+ if clientCode.length != 12
212
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
213
+ end
214
+ if receiptID.to_s == ''
215
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
216
+ end
217
+ if receiptID.is_i? == false
218
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
219
+ end
220
+ if receiptID.length != 32
221
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
222
+ end
223
+
224
+ httpget("/NAVER/Sign/#{clientCode}/#{receiptID}")
225
+ end
226
+
227
+ def verifySign(clientCode, receiptID)
228
+ if clientCode.to_s == ''
229
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
230
+ end
231
+ if clientCode.is_i? == false
232
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
233
+ end
234
+ if clientCode.length != 12
235
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
236
+ end
237
+ if receiptID.to_s == ''
238
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
239
+ end
240
+ if receiptID.is_i? == false
241
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
242
+ end
243
+ if receiptID.length != 32
244
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
245
+ end
246
+
247
+ httppost("/NAVER/Sign/#{clientCode}/#{receiptID}")
248
+ end
249
+
250
+ def requestMultiSign(clientCode, multiSign)
251
+ if clientCode.to_s == ''
252
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
253
+ end
254
+ if clientCode.is_i? == false
255
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
256
+ end
257
+ if clientCode.length != 12
258
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
259
+ end
260
+ if multiSign.nil?
261
+ raise BarocertException.new('-99999999', '전자서명 요청정보가 입력되지 않았습니다.')
262
+ end
263
+ if multiSign["receiverHP"].to_s == ''
264
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
265
+ end
266
+ if multiSign["receiverName"].to_s == ''
267
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
268
+ end
269
+ if multiSign["receiverBirthday"].to_s == ''
270
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
271
+ end
272
+
273
+ if multiSign["reqTitle"].to_s == ''
274
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
275
+ end
276
+
277
+ if multiSign["reqMessage"].to_s == ''
278
+ raise BarocertException.new('-99999999', '인증요청 메시지가 입력되지 않았습니다.')
279
+ end
280
+
281
+ if multiSign["callCenterNum"].to_s == ''
282
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
283
+ end
284
+
285
+ if multiSign["expireIn"].to_s == ''
286
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
287
+ end
288
+
289
+ if isNullorEmptyToken(multiSign["tokens"])
290
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
291
+ end
292
+
293
+ if isNullorEmptyTokenType(multiSign["tokens"])
294
+ raise BarocertException.new('-99999999', '원문 유형이 입력되지 않았습니다.')
295
+ end
296
+
297
+ httppost("/NAVER/MultiSign/#{clientCode}", multiSign.to_json)
298
+ end
299
+
300
+ def getMultiSignStatus(clientCode, receiptID)
301
+ if clientCode.to_s == ''
302
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
303
+ end
304
+ if clientCode.is_i? == false
305
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
306
+ end
307
+ if clientCode.length != 12
308
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
309
+ end
310
+ if receiptID.to_s == ''
311
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
312
+ end
313
+ if receiptID.is_i? == false
314
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
315
+ end
316
+ if receiptID.length != 32
317
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
318
+ end
319
+
320
+ httpget("/NAVER/MultiSign/#{clientCode}/#{receiptID}")
321
+ end
322
+
323
+ def verifyMultiSign(clientCode, receiptID)
324
+ if clientCode.to_s == ''
325
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
326
+ end
327
+ if clientCode.is_i? == false
328
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
329
+ end
330
+ if clientCode.length != 12
331
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
332
+ end
333
+ if receiptID.to_s == ''
334
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
335
+ end
336
+ if receiptID.is_i? == false
337
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
338
+ end
339
+ if receiptID.length != 32
340
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
341
+ end
342
+
343
+ httppost("/NAVER/MultiSign/#{clientCode}/#{receiptID}")
344
+ end
345
+ end
346
+
347
+ class String
348
+ def is_i?
349
+ !!(self =~ /^\d+$/)
350
+ end
351
+ end
@@ -79,7 +79,7 @@ class PasscertService < BarocertService
79
79
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
80
80
  end
81
81
  if identity.nil?
82
- raise BarocertException.new('-99999999', '본인인증 서명요청 정보가 입력되지 않았습니다.')
82
+ raise BarocertException.new('-99999999', '본인인증 요청정보가 입력되지 않았습니다.')
83
83
  end
84
84
  if identity["receiverHP"].to_s == ''
85
85
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -262,7 +262,7 @@ class PasscertService < BarocertService
262
262
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
263
263
  end
264
264
  if cms.nil?
265
- raise BarocertException.new('-99999999', '출금동의 서명요청 정보가 입력되지 않았습니다.')
265
+ raise BarocertException.new('-99999999', '출금동의 요청정보가 입력되지 않았습니다.')
266
266
  end
267
267
  if cms["receiverHP"].to_s == ''
268
268
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
@@ -361,7 +361,7 @@ class PasscertService < BarocertService
361
361
  raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
362
362
  end
363
363
  if login.nil?
364
- raise BarocertException.new('-99999999', '간편로그인 서명요청 정보가 입력되지 않았습니다.s')
364
+ raise BarocertException.new('-99999999', '간편로그인 요청정보가 입력되지 않았습니다.s')
365
365
  end
366
366
  if login["receiverHP"].to_s == ''
367
367
  raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
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.1.1
4
+ version: 1.2.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: 2023-10-23 00:00:00.000000000 Z
11
+ date: 2023-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linkhub
@@ -32,6 +32,7 @@ extra_rdoc_files: []
32
32
  files:
33
33
  - lib/barocert.rb
34
34
  - lib/barocert/kakaocert.rb
35
+ - lib/barocert/navercert.rb
35
36
  - lib/barocert/passcert.rb
36
37
  homepage: https://github.com/barocert/barocert.ruby
37
38
  licenses: