]> nmode's Git Repositories - signal-cli/commitdiff
Actually store preKeys
authorAsamK <asamk@gmx.de>
Tue, 7 Jul 2015 09:04:59 +0000 (11:04 +0200)
committerAsamK <asamk@gmx.de>
Tue, 7 Jul 2015 09:04:59 +0000 (11:04 +0200)
src/main/java/cli/JsonSignedPreKeyStore.java
src/main/java/cli/Manager.java

index 000a0aa41fa2f9f4a457e524c8c5838abb949b56..5b24c8dc6b6c07a6db7bb10f35969c3d76172d2f 100644 (file)
@@ -34,7 +34,7 @@ public class JsonSignedPreKeyStore implements SignedPreKeyStore {
     public JSONArray getJson() {
         JSONArray result = new JSONArray();
         for (Integer id : store.keySet()) {
     public JSONArray getJson() {
         JSONArray result = new JSONArray();
         for (Integer id : store.keySet()) {
-            result.put(new JSONObject().put("id", id.toString()).put("record", store.get(id)));
+            result.put(new JSONObject().put("id", id.toString()).put("record", Base64.encodeBytes(store.get(id))));
         }
         return result;
     }
         }
         return result;
     }
index 433c43dc3dc360bbb5a6a5f8c1150f2eb2148899..b745988b5b1ee945c9ae223d10e30f75dc90f63a 100644 (file)
@@ -24,6 +24,7 @@ import org.whispersystems.libaxolotl.InvalidVersionException;
 import org.whispersystems.libaxolotl.state.PreKeyRecord;
 import org.whispersystems.libaxolotl.state.SignedPreKeyRecord;
 import org.whispersystems.libaxolotl.util.KeyHelper;
 import org.whispersystems.libaxolotl.state.PreKeyRecord;
 import org.whispersystems.libaxolotl.state.SignedPreKeyRecord;
 import org.whispersystems.libaxolotl.util.KeyHelper;
+import org.whispersystems.libaxolotl.util.Medium;
 import org.whispersystems.libaxolotl.util.guava.Optional;
 import org.whispersystems.textsecure.api.TextSecureAccountManager;
 import org.whispersystems.textsecure.api.TextSecureMessagePipe;
 import org.whispersystems.libaxolotl.util.guava.Optional;
 import org.whispersystems.textsecure.api.TextSecureAccountManager;
 import org.whispersystems.textsecure.api.TextSecureMessagePipe;
@@ -137,13 +138,21 @@ public class Manager {
 
         //accountManager.setGcmId(Optional.of(GoogleCloudMessaging.getInstance(this).register(REGISTRATION_ID)));
         registered = true;
 
         //accountManager.setGcmId(Optional.of(GoogleCloudMessaging.getInstance(this).register(REGISTRATION_ID)));
         registered = true;
+
         int start = 0;
         List<PreKeyRecord> oneTimePreKeys = KeyHelper.generatePreKeys(start, 100);
         int start = 0;
         List<PreKeyRecord> oneTimePreKeys = KeyHelper.generatePreKeys(start, 100);
+        for (int i = start; i < oneTimePreKeys.size(); i++) {
+            axolotlStore.storePreKey(i, oneTimePreKeys.get(i));
+        }
+
         PreKeyRecord lastResortKey = KeyHelper.generateLastResortPreKey();
         PreKeyRecord lastResortKey = KeyHelper.generateLastResortPreKey();
+        axolotlStore.storePreKey(Medium.MAX_VALUE, lastResortKey);
+
         int signedPreKeyId = 0;
         SignedPreKeyRecord signedPreKeyRecord;
         try {
             signedPreKeyRecord = KeyHelper.generateSignedPreKey(axolotlStore.getIdentityKeyPair(), signedPreKeyId);
         int signedPreKeyId = 0;
         SignedPreKeyRecord signedPreKeyRecord;
         try {
             signedPreKeyRecord = KeyHelper.generateSignedPreKey(axolotlStore.getIdentityKeyPair(), signedPreKeyId);
+            axolotlStore.storeSignedPreKey(signedPreKeyId, signedPreKeyRecord);
         } catch (InvalidKeyException e) {
             // Should really not happen
             System.out.println("invalid key");
         } catch (InvalidKeyException e) {
             // Should really not happen
             System.out.println("invalid key");