mastercard-client-encryption 1.2.1 → 1.3.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: bbccd35b77756bd0991d1baf67d1870fdd50f51a6c2e134720bc7a5ce5323212
4
- data.tar.gz: 3b39bd9f88a24178460035dae148605fac7fbb6b8612828d9ee80e1dd52ad7a2
3
+ metadata.gz: e79a9ddfdb73e2c42f7ce52a0efebda9fe1db59cca834099c51f6c108a5c16dd
4
+ data.tar.gz: c49c9f80b87e474cd0419a396d7a044ec1bab711d316426a1380388c80a29557
5
5
  SHA512:
6
- metadata.gz: cb72b048455038d96346ba38377fdd9d4c8cee1952961800ecef92598a5355f0bf2de5c2ac8b6eb086a93b70b1c43e818a7a5239b0511af626b45df346f78878
7
- data.tar.gz: 9a4b559336e6525cc06826d3bfc45cec2b3dd7c72e1a3e0803eccaf9eaa4cef68512b7e630e2a01ca98f829dc14b52be8c00d28a5299860aa2dc9f6e1309e25b
6
+ metadata.gz: fc340ccc66e6ea34d4a2196e067cfa82e88d7e3c3868e4b24a272635e5f8d013b4e09154086990a6151e6ebb1b75d42a47c8e76791cfdba22ce23450fa661417
7
+ data.tar.gz: 6913329c0b378826114888da546646515e9740ea3c1299c334c8051630ae1b7eb07d2e58950e0a0fb2e2c68cd3a7b059db14f692db88932f9190c57ab617cab3
@@ -97,7 +97,6 @@ module McAPI
97
97
  cipher.decrypt
98
98
  cipher.key = cek
99
99
  cipher.iv = iv
100
- cipher.padding = 0
101
100
  if enc_method == "A256GCM"
102
101
  cipher.auth_data = encrypted_header
103
102
  cipher.auth_tag = cipher_tag
@@ -76,6 +76,9 @@ module McAPI
76
76
 
77
77
  decrypted = enc.decrypt(JSON.generate(to_decrypt, symbolize_names: false))
78
78
  body = JSON.generate(JSON.parse(decrypted)['body'])
79
+ if enc.instance_of? McAPI::Encryption::JweEncryption
80
+ body = McAPI::Utils.parse_decrypted_payload(body)
81
+ end
79
82
  response.options[:response_body] = JSON.generate(JSON.parse(body))
80
83
  end
81
84
  # noinspection RubySuperCallWithoutSuperclassInspection
@@ -186,5 +186,14 @@ module McAPI
186
186
  def self.encryption_param?(enc_param, body_map)
187
187
  enc_param.length == 1 && body_map.length == 1
188
188
  end
189
+
190
+ def self.parse_decrypted_payload(payload)
191
+ parsed_payload = payload.gsub("\\u000f", "")
192
+ parsed_payload = parsed_payload.gsub("\\", "")
193
+ if parsed_payload[0] == "\""
194
+ parsed_payload = parsed_payload.delete_prefix('"').delete_suffix('"')
195
+ end
196
+ parsed_payload
197
+ end
189
198
  end
190
199
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mastercard-client-encryption
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mastercard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-21 00:00:00.000000000 Z
11
+ date: 2022-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hamster