barocert 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: