nubank_sdk 0.2.0 → 0.3.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: 4f097d1d4da02660155bd767854ef6202e5622821e0eda6b9804b5d1cbf33d07
4
- data.tar.gz: 4b3844c8054f98f3cc10e6eb881021146ac0b59efd998bbd47282455f035cb62
3
+ metadata.gz: 8e5b9021cf033b5ec98a45bdd97701e6acb0d4e7f7ea12d2fe8247e91fb24dd7
4
+ data.tar.gz: 9faacb99367c3fd68c1d93dc343a2dac43efd90f2c27291d6ab67cdb478fcc8a
5
5
  SHA512:
6
- metadata.gz: 5baf7e493f3e48bff114f053c918309f86d57d5af72288322cc88a698f886e36151487c80ad986b3727acde28e0a9c66f8116bdeaed639f5f2ec16a6c2d6abbe
7
- data.tar.gz: 3f58b9e0caa25fa36e14687c0ef50a7dee002930d73f729a73efb2d85a2c839d8aea51ab525ca2ae2cbe6ac577685fd711cc5dbc05b3a39f261876e59014bcea
6
+ metadata.gz: 7afd83c07054626508d65dc3b028a09aaf07f0625f81cf7f4b2f53b121fc34d43a89f269a6cedc9a3e064af09f29e5e68b3a2f79a5ecacb845d34bf1576d23d7
7
+ data.tar.gz: c99a7db8b4c2fcb29a7331009dcd2cd2bc3c9a4256153e5fc7c188dac3689179607c52fafe8d234d66295158dce2a2c2989e17388b7a2ca4f609c85dca513ac0
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /certificates/*.p12
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
@@ -5,6 +5,7 @@
5
5
  "Nubank"
6
6
  ],
7
7
  "conventionalCommits.scopes": [
8
+ "certificates",
8
9
  "version"
9
10
  ]
10
11
  }
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nubank_sdk (0.2.0)
4
+ nubank_sdk (0.3.0)
5
5
  faraday (~> 0.15.0)
6
6
  json (~> 2.1.0)
7
7
 
File without changes
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'openssl'
4
+
5
+ module NubankSdk
6
+ class Certificate
7
+ FILES_PATH = './certificates/'
8
+
9
+ def initialize(cpf, key)
10
+ @cpf = cpf
11
+ @key = key
12
+ end
13
+
14
+ def process_decoded(certificate)
15
+ encoded = encode certificate
16
+
17
+ p12 = create_pkcs12_from encoded
18
+ save p12
19
+ end
20
+
21
+ def encoded
22
+ @encoded ||= OpenSSL::PKCS12.new(file.read, 'password')
23
+ end
24
+
25
+ private
26
+
27
+ def file
28
+ File.open("#{FILES_PATH}#{@cpf}.p12", 'rb')
29
+ end
30
+
31
+ def save(p12)
32
+ File.open("#{FILES_PATH}#{@cpf}.p12", 'wb') do |file|
33
+ file.write p12.to_der
34
+ end
35
+ end
36
+
37
+ def create_pkcs12_from(certificate)
38
+ OpenSSL::PKCS12.create("password", "key", @key, certificate)
39
+ end
40
+
41
+ def encode(certificate)
42
+ OpenSSL::X509::Certificate.new certificate
43
+ end
44
+ end
45
+ end
@@ -1,3 +1,3 @@
1
1
  module NubankSdk
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/nubank_sdk.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "nubank_sdk/api_routes"
2
+ require "nubank_sdk/certificate"
2
3
  require "nubank_sdk/version"
3
4
 
4
5
  module NubankSdk
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nubank_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Viserion77
@@ -98,8 +98,10 @@ files:
98
98
  - Rakefile
99
99
  - bin/console
100
100
  - bin/setup
101
+ - certificates/.gitkeep
101
102
  - lib/nubank_sdk.rb
102
103
  - lib/nubank_sdk/api_routes.rb
104
+ - lib/nubank_sdk/certificate.rb
103
105
  - lib/nubank_sdk/client.rb
104
106
  - lib/nubank_sdk/version.rb
105
107
  - nubank_sdk.gemspec