barocert 1.1.1 → 1.2.1

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: b3aa037b5e1d6ee152f0da2694678a91b9b133c1f1ffa01bace6092c7f60b84a
4
+ data.tar.gz: 0ee8ee6ac7e0f46ea042cbb7d7c7085eb46ba35bab7fe1e20b5e45ae98583609
5
5
  SHA512:
6
- metadata.gz: 8e916c4083266365861417a6c9e3df5ea084a7c1ea012e9c87fcc00a0d9fb239e2aabdfd4ecdde38e410eb7faf742bfd98ba4ba42dab01d91018baa84a59afc2
7
- data.tar.gz: 5b974f9e73e1a55e00c97892b0236d2312c916f64bab8a01285252727f0ffe0d96cd1728dc36427e039a70d282cbe95a2b0eba67f81528d83e2070365a62f017
6
+ metadata.gz: b88073a18333ed587cfd7d6df757174cc2ab110a9a94dc9eee3c722475ef25d197b7a501be3ac23d4cc5b665713db5146116a55fbf0bb9b3c1938650e06a5cf0
7
+ data.tar.gz: 67ed5fcdb3fa472142ac6db5d2df3b452e06e724451b597697704b4e9fd81473698ab41751062e08bde961fd9c444ae14a884390fdb124effcb3a7fc0219cdce
@@ -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,347 @@
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["callCenterNum"].to_s == ''
94
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
95
+ end
96
+
97
+ if identity["expireIn"].to_s == ''
98
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
99
+ end
100
+
101
+ httppost("/NAVER/Identity/#{clientCode}", identity.to_json)
102
+ end
103
+
104
+ def getIdentityStatus(clientCode, receiptID)
105
+ puts receiptID
106
+ if clientCode.to_s == ''
107
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
108
+ end
109
+ if clientCode.is_i? == false
110
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
111
+ end
112
+ if clientCode.length != 12
113
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
114
+ end
115
+ if receiptID.to_s == ''
116
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
117
+ end
118
+ if receiptID.is_i? == false
119
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
120
+ end
121
+ if receiptID.length != 32
122
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
123
+ end
124
+
125
+ httpget("/NAVER/Identity/#{clientCode}/#{receiptID}")
126
+ end
127
+
128
+ def verifyIdentity(clientCode, receiptID)
129
+ if clientCode.to_s == ''
130
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
131
+ end
132
+ if clientCode.is_i? == false
133
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
134
+ end
135
+ if clientCode.length != 12
136
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
137
+ end
138
+ if receiptID.to_s == ''
139
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
140
+ end
141
+ if receiptID.is_i? == false
142
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
143
+ end
144
+ if receiptID.length != 32
145
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
146
+ end
147
+
148
+ httppost("/NAVER/Identity/#{clientCode}/#{receiptID}")
149
+ end
150
+
151
+ def requestSign(clientCode, sign)
152
+ if clientCode.to_s == ''
153
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
154
+ end
155
+ if clientCode.is_i? == false
156
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
157
+ end
158
+ if clientCode.length != 12
159
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
160
+ end
161
+ if sign.nil?
162
+ raise BarocertException.new('-99999999', '전자서명 서명요청 정보가 입력되지 않았습니다.')
163
+ end
164
+ if sign["receiverHP"].to_s == ''
165
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
166
+ end
167
+ if sign["receiverName"].to_s == ''
168
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
169
+ end
170
+ if sign["receiverBirthday"].to_s == ''
171
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
172
+ end
173
+
174
+ if sign["reqTitle"].to_s == ''
175
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
176
+ end
177
+
178
+ if sign["reqMessage"].to_s == ''
179
+ raise BarocertException.new('-99999999', '인증요청 메시지가 입력되지 않았습니다.')
180
+ end
181
+
182
+ if sign["callCenterNum"].to_s == ''
183
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
184
+ end
185
+
186
+ if sign["expireIn"].to_s == ''
187
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
188
+ end
189
+
190
+ if sign["token"].to_s == ''
191
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
192
+ end
193
+
194
+ if sign["tokenType"].to_s == ''
195
+ raise BarocertException.new('-99999999', '원문 유형이 입력되지 않았습니다.')
196
+ end
197
+ httppost("/NAVER/Sign/#{clientCode}", sign.to_json)
198
+ end
199
+
200
+ def getSignStatus(clientCode, receiptID)
201
+ if clientCode.to_s == ''
202
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
203
+ end
204
+ if clientCode.is_i? == false
205
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
206
+ end
207
+ if clientCode.length != 12
208
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
209
+ end
210
+ if receiptID.to_s == ''
211
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
212
+ end
213
+ if receiptID.is_i? == false
214
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
215
+ end
216
+ if receiptID.length != 32
217
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
218
+ end
219
+
220
+ httpget("/NAVER/Sign/#{clientCode}/#{receiptID}")
221
+ end
222
+
223
+ def verifySign(clientCode, receiptID)
224
+ if clientCode.to_s == ''
225
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
226
+ end
227
+ if clientCode.is_i? == false
228
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
229
+ end
230
+ if clientCode.length != 12
231
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
232
+ end
233
+ if receiptID.to_s == ''
234
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
235
+ end
236
+ if receiptID.is_i? == false
237
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
238
+ end
239
+ if receiptID.length != 32
240
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
241
+ end
242
+
243
+ httppost("/NAVER/Sign/#{clientCode}/#{receiptID}")
244
+ end
245
+
246
+ def requestMultiSign(clientCode, multiSign)
247
+ if clientCode.to_s == ''
248
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
249
+ end
250
+ if clientCode.is_i? == false
251
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
252
+ end
253
+ if clientCode.length != 12
254
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
255
+ end
256
+ if multiSign.nil?
257
+ raise BarocertException.new('-99999999', '전자서명 요청정보가 입력되지 않았습니다.')
258
+ end
259
+ if multiSign["receiverHP"].to_s == ''
260
+ raise BarocertException.new('-99999999', '수신자 휴대폰번호가 입력되지 않았습니다.')
261
+ end
262
+ if multiSign["receiverName"].to_s == ''
263
+ raise BarocertException.new('-99999999', '수신자 성명이 입력되지 않았습니다.')
264
+ end
265
+ if multiSign["receiverBirthday"].to_s == ''
266
+ raise BarocertException.new('-99999999', '생년월일이 입력되지 않았습니다.')
267
+ end
268
+
269
+ if multiSign["reqTitle"].to_s == ''
270
+ raise BarocertException.new('-99999999', '인증요청 메시지 제목이 입력되지 않았습니다.')
271
+ end
272
+
273
+ if multiSign["reqMessage"].to_s == ''
274
+ raise BarocertException.new('-99999999', '인증요청 메시지가 입력되지 않았습니다.')
275
+ end
276
+
277
+ if multiSign["callCenterNum"].to_s == ''
278
+ raise BarocertException.new('-99999999', '고객센터 연락처가 입력되지 않았습니다.')
279
+ end
280
+
281
+ if multiSign["expireIn"].to_s == ''
282
+ raise BarocertException.new('-99999999', '만료시간이 입력되지 않았습니다.')
283
+ end
284
+
285
+ if isNullorEmptyToken(multiSign["tokens"])
286
+ raise BarocertException.new('-99999999', '토큰 원문이 입력되지 않았습니다.')
287
+ end
288
+
289
+ if isNullorEmptyTokenType(multiSign["tokens"])
290
+ raise BarocertException.new('-99999999', '원문 유형이 입력되지 않았습니다.')
291
+ end
292
+
293
+ httppost("/NAVER/MultiSign/#{clientCode}", multiSign.to_json)
294
+ end
295
+
296
+ def getMultiSignStatus(clientCode, receiptID)
297
+ if clientCode.to_s == ''
298
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
299
+ end
300
+ if clientCode.is_i? == false
301
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
302
+ end
303
+ if clientCode.length != 12
304
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
305
+ end
306
+ if receiptID.to_s == ''
307
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
308
+ end
309
+ if receiptID.is_i? == false
310
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
311
+ end
312
+ if receiptID.length != 32
313
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
314
+ end
315
+
316
+ httpget("/NAVER/MultiSign/#{clientCode}/#{receiptID}")
317
+ end
318
+
319
+ def verifyMultiSign(clientCode, receiptID)
320
+ if clientCode.to_s == ''
321
+ raise BarocertException.new('-99999999', '이용기관코드가 입력되지 않았습니다.')
322
+ end
323
+ if clientCode.is_i? == false
324
+ raise BarocertException.new('-99999999', '이용기관코드는 숫자만 입력할 수 있습니다.')
325
+ end
326
+ if clientCode.length != 12
327
+ raise BarocertException.new('-99999999', '이용기관코드는 12자 입니다.')
328
+ end
329
+ if receiptID.to_s == ''
330
+ raise BarocertException.new('-99999999', '접수아이디가 입력되지 않았습니다.')
331
+ end
332
+ if receiptID.is_i? == false
333
+ raise BarocertException.new('-99999999', '접수아이디는 숫자만 입력할 수 있습니다.')
334
+ end
335
+ if receiptID.length != 32
336
+ raise BarocertException.new('-99999999', '접수아이디는 32자 입니다.')
337
+ end
338
+
339
+ httppost("/NAVER/MultiSign/#{clientCode}/#{receiptID}")
340
+ end
341
+ end
342
+
343
+ class String
344
+ def is_i?
345
+ !!(self =~ /^\d+$/)
346
+ end
347
+ 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.1
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-31 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: