barocert 1.1.1 → 1.2.1

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: 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: