selfsdk 0.0.138 → 0.0.139

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/client.rb +9 -0
  3. data/lib/crypto.rb +2 -2
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9cbb2bad8f28cb417c2df600279bed7de2730b4391a735574a953e15da32eb0
4
- data.tar.gz: caee509d09748376b2185de51e73e4cdc78b1790a2de323f90babcf94b2df1f3
3
+ metadata.gz: fd7dee3974b09378a7893e93df82bf77a9e082dfcc386b61dc5def8660276233
4
+ data.tar.gz: b2cc3bec34b678a941cb13ca7f46e82851a7b29ef2f5a4c0a6d5047dfb0aa73d
5
5
  SHA512:
6
- metadata.gz: 63b33c646f77f9f07e365e2c33f840eef746b7e7f564833a4598755d36da7f698cb8a01c24158a82de8477e3861a82ce5dea588a4bf2d0ba7ff92addb101601f
7
- data.tar.gz: d858ae95e76994ac51a2622f141a8b8bd47eeaebca0ed55842ae6fa4bd025debaeb557b51201fd63755da9425341c5c85737b551718b21ad61b4860199d6a40c
6
+ metadata.gz: 603796714f57dae9c509dd5d8bfdae2a9433f41d6bdeb653e55ec8e0aeb6c3b953799fac5651f21e83f3a9526c276e84bd55b655a489074765e13baf21924764
7
+ data.tar.gz: 3e8b669f3449d9e2335e113fbc638795fc42ac2ef3b5463f14d560460a1bd6ff5d542e453e8b8702ef19454038fcc53f95205e5f21e63965428238b4662bc9d6
@@ -90,6 +90,15 @@ module SelfSDK
90
90
  sg.key_by_id(kid)
91
91
  end
92
92
 
93
+ # Get the active public key for a device
94
+ #
95
+ # @param id [string] identity id
96
+ def device_public_key(id, did)
97
+ i = entity(id)
98
+ sg = SelfSDK::SignatureGraph.new(i[:history])
99
+ sg.key_by_device(did)
100
+ end
101
+
93
102
  private
94
103
 
95
104
  def get_identity(endpoint)
@@ -38,7 +38,7 @@ module SelfSDK
38
38
  else
39
39
  # 2b-i) if you have not previously sent or recevied a message to/from bob,
40
40
  # you must get his identity key from GET /v1/identities/bob/
41
- ed25519_identity_key = @client.public_keys(recipient).first[:key]
41
+ ed25519_identity_key = @client.device_public_key(recipient, recipient_device)
42
42
 
43
43
  # 2b-ii) get a one time key for bob
44
44
  res = @client.get("/v1/identities/#{recipient}/devices/#{recipient_device}/pre_keys")
@@ -51,7 +51,7 @@ module SelfSDK
51
51
  one_time_key = JSON.parse(res.body)["key"]
52
52
 
53
53
  # 2b-iii) convert bobs ed25519 identity key to a curve25519 key
54
- curve25519_identity_key = SelfCrypto::Util.ed25519_pk_to_curve25519(ed25519_identity_key)
54
+ curve25519_identity_key = SelfCrypto::Util.ed25519_pk_to_curve25519(ed25519_identity_key.raw_public_key)
55
55
 
56
56
  # 2b-iv) create the session with bob
57
57
  session_with_bob = @account.outbound_session(curve25519_identity_key, one_time_key)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selfsdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.138
4
+ version: 0.0.139
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aldgate Ventures