selfsdk 0.0.168 → 0.0.169
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 +4 -4
- data/lib/crypto.rb +21 -0
- data/lib/signature_graph.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e525b40ab24f81c5e2ece5c34a8bdb312fae674074981ba8188d168a4c27644d
|
4
|
+
data.tar.gz: c97ce7cf0278006e0ef0a3fff16b5ce80f0d5564c84b0419354dc41dab35bd21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b069aaabdcc6a10a941c7ecdff18ec69d57d6773275903b9b8f9e1192ec045d1b43d361e57e8203abffd77878b184ac43ae84a2b0cd771112124a58e4860c1d4
|
7
|
+
data.tar.gz: 66d71475ac439e52ab6982e676348547a90cfd3455f80a091dbf8fb7af777185fe9aff65c341fda2d0ec406cb217557fdbdaa513a6a666326128d9dfdd370965
|
data/lib/crypto.rb
CHANGED
@@ -90,6 +90,27 @@ module SelfSDK
|
|
90
90
|
|
91
91
|
# 7b-ii) use the initial message to create a session for bob or carol
|
92
92
|
session_with_bob = @account.inbound_session(m)
|
93
|
+
|
94
|
+
# 7b-iii) remove the session's prekey from the account
|
95
|
+
@account.remove_one_time_keys(session_with_bob)
|
96
|
+
|
97
|
+
current_one_time_keys = @account.otk['curve25519']
|
98
|
+
|
99
|
+
# 7b-iv) if the number of remaining prekeys is below a certain threshold, publish new keys
|
100
|
+
if current_one_time_keys.length < 10
|
101
|
+
@account.gen_otk(100)
|
102
|
+
|
103
|
+
keys = Array.new
|
104
|
+
|
105
|
+
@account.otk['curve25519'].each do |k,v|
|
106
|
+
keys.push({id: k, key: v}) if current_one_time_keys[k].nil?
|
107
|
+
end
|
108
|
+
|
109
|
+
res = @client.post("/v1/apps/#{@client.jwt.id}/devices/#{@device}/pre_keys", keys.to_json)
|
110
|
+
raise 'unable to push prekeys, please try in a few minutes' if res.code != 200
|
111
|
+
end
|
112
|
+
|
113
|
+
File.write(account_path, @account.to_pickle(@storage_key))
|
93
114
|
end
|
94
115
|
|
95
116
|
# 8) create a group session and set the identity of the account you're using
|
data/lib/signature_graph.rb
CHANGED
@@ -261,7 +261,7 @@ module SelfSDK
|
|
261
261
|
|
262
262
|
sk = @keys[operation.signing_key]
|
263
263
|
|
264
|
-
raise "operation specifies a signing key that does not exist" if
|
264
|
+
raise "operation specifies a signing key that does not exist" if sk.nil?
|
265
265
|
|
266
266
|
# if this is an account recovery, nuke all existing keys
|
267
267
|
if sk.type == KEY_TYPE_RECOVERY
|