vchain_client 1.0.30 → 1.0.31
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vchain_client.rb +28 -2
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3848407bff9307524e2cf0c071c8766ab44c84bc
|
4
|
+
data.tar.gz: 6846755d6ffe38288e2e950aa5116bb5a87fe124
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee3478bb3b48ebcbb4579cf3a1a64137e1992603f136d0a39cee59078dc6ae17a64338657a0f20691b37c56c0277161795ebbfe4a11a762b6e0ecc1f19e027a1
|
7
|
+
data.tar.gz: ca515a0c3f81dab0df028fe189bcfb45bfb4bc34ca2b4d572464727a88a782445d084c8b6795831bf35c675a23ab76ee15ca8d130877d2db8bdeb458248b921e
|
data/lib/vchain_client.rb
CHANGED
@@ -5,6 +5,7 @@ module VChainClient
|
|
5
5
|
require 'rest-client'
|
6
6
|
require 'base64'
|
7
7
|
require 'openssl'
|
8
|
+
require 'openssl-pkey-ec-ies'
|
8
9
|
require 'log4r'
|
9
10
|
require 'json'
|
10
11
|
|
@@ -26,7 +27,7 @@ module VChainClient
|
|
26
27
|
|
27
28
|
DATA_POINT_VERSION = "1"
|
28
29
|
|
29
|
-
CLIENT_LIB_VERSION = "1.0.
|
30
|
+
CLIENT_LIB_VERSION = "1.0.31"
|
30
31
|
|
31
32
|
@config = nil
|
32
33
|
@log = nil
|
@@ -804,6 +805,8 @@ module VChainClient
|
|
804
805
|
|
805
806
|
def check(input, is_already_hashed = false, preffered_decision_algo = nil)
|
806
807
|
|
808
|
+
blockstackClient = VChainClient::BlockstackClient.new(@config)
|
809
|
+
|
807
810
|
client_id = @config["client_id"]
|
808
811
|
|
809
812
|
api_url = @config["api"]["url"] + "v0.2/check/";
|
@@ -847,6 +850,29 @@ module VChainClient
|
|
847
850
|
@log.debug(document)
|
848
851
|
end
|
849
852
|
|
853
|
+
## let's encode message using vchain public key
|
854
|
+
vchain_pubkey_body = blockstackClient.getPublicKey("vchain_core_01.id")
|
855
|
+
|
856
|
+
if vchain_pubkey_body == nil
|
857
|
+
if @log.error?
|
858
|
+
@log.error("[check] failed to get vchain public key")
|
859
|
+
end
|
860
|
+
|
861
|
+
return false
|
862
|
+
end
|
863
|
+
|
864
|
+
vchain_pubkey_str = "-----BEGIN PUBLIC KEY-----\n"
|
865
|
+
vchain_pubkey_str += vchain_pubkey_body
|
866
|
+
vchain_pubkey_str += "\n-----END PUBLIC KEY-----"
|
867
|
+
|
868
|
+
vchain_pubkey = OpenSSL::PKey::EC::IES.new(vchain_pubkey_str)
|
869
|
+
|
870
|
+
encrypted_doc = Base64.encode64(vchain_pubkey.public_encrypt(document.to_json))
|
871
|
+
|
872
|
+
puts encrypted_doc
|
873
|
+
|
874
|
+
exit 0
|
875
|
+
|
850
876
|
req = nil
|
851
877
|
|
852
878
|
begin
|
@@ -859,7 +885,7 @@ module VChainClient
|
|
859
885
|
res = RestClient::Resource.new api_url
|
860
886
|
end
|
861
887
|
|
862
|
-
req = res.post
|
888
|
+
req = res.post encrypted_doc, :content_type => 'application/json'
|
863
889
|
|
864
890
|
if req.code != 200
|
865
891
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vchain_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.31
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksandr Gorelik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: log4r
|
@@ -70,6 +70,26 @@ dependencies:
|
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 2.0.0
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: openssl-pkey-ec-ies
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 0.0.1
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.0.1
|
83
|
+
type: :runtime
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.0.1
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 0.0.1
|
73
93
|
description: Fully functional client for VChain Platform written on Ruby. For more
|
74
94
|
info visit https://bitbucket.org/vchain_dev/ruby-client
|
75
95
|
email: alexander@vchain.tech
|