summaryrefslogtreecommitdiff
path: root/protocols/WhatsAppWeb/src/noise.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/WhatsAppWeb/src/noise.cpp')
-rw-r--r--protocols/WhatsAppWeb/src/noise.cpp64
1 files changed, 0 insertions, 64 deletions
diff --git a/protocols/WhatsAppWeb/src/noise.cpp b/protocols/WhatsAppWeb/src/noise.cpp
index ecc7921b2d..4d9dc23956 100644
--- a/protocols/WhatsAppWeb/src/noise.cpp
+++ b/protocols/WhatsAppWeb/src/noise.cpp
@@ -65,72 +65,8 @@ void WANoise::init()
ec_key_pair_destroy(pKeys);
}
- if (ppro->getDword(DBKEY_PREKEY_KEYID, 0xFFFF) == 0xFFFF) {
- // generate pre keys
- const unsigned int signed_pre_key_id = 1;
- ppro->setDword(DBKEY_PREKEY_KEYID, 1);
- ppro->setDword(DBKEY_PREKEY_NEXT_ID, 1);
- ppro->setDword(DBKEY_PREKEY_UPLOAD_ID, 1);
-
- // generate signed identity keys (private & public)
- ratchet_identity_key_pair *keyPair;
- signal_protocol_key_helper_generate_identity_key_pair(&keyPair, g_plugin.pCtx);
-
- auto *pPubKey = ratchet_identity_key_pair_get_public(keyPair);
- db_set_blob(0, ppro->m_szModuleName, DBKEY_SIGNED_IDENTITY_PUB, pPubKey->data, sizeof(pPubKey->data));
-
- auto *pPrivKey = ratchet_identity_key_pair_get_private(keyPair);
- db_set_blob(0, ppro->m_szModuleName, DBKEY_SIGNED_IDENTITY_PRIV, pPrivKey->data, sizeof(pPrivKey->data));
-
- session_signed_pre_key *signed_pre_key;
- signal_protocol_key_helper_generate_signed_pre_key(&signed_pre_key, keyPair, signed_pre_key_id, time(0), g_plugin.pCtx);
- SIGNAL_UNREF(keyPair);
-
- signal_buffer *serialized_signed_pre_key;
- session_signed_pre_key_serialize(&serialized_signed_pre_key, signed_pre_key);
-
- ec_key_pair *pKeys = session_signed_pre_key_get_key_pair(signed_pre_key);
- pPubKey = ec_key_pair_get_public(pKeys);
- db_set_blob(0, ppro->m_szModuleName, DBKEY_PREKEY_PUB, pPubKey->data, sizeof(pPubKey->data));
-
- pPrivKey = ec_key_pair_get_private(pKeys);
- db_set_blob(0, ppro->m_szModuleName, DBKEY_PREKEY_PRIV, pPrivKey->data, sizeof(pPrivKey->data));
-
- db_set_blob(0, ppro->m_szModuleName, DBKEY_PREKEY_SIGN, (void*)session_signed_pre_key_get_signature(signed_pre_key), (int)session_signed_pre_key_get_signature_len(signed_pre_key));
-
- // generate and save pre keys set
- CMStringA szSetting;
- signal_protocol_key_helper_pre_key_list_node *keys_root;
- signal_protocol_key_helper_generate_pre_keys(&keys_root, 1, 20, g_plugin.pCtx);
- for (auto *it = keys_root; it; it = signal_protocol_key_helper_key_list_next(it)) {
- session_pre_key *pre_key = signal_protocol_key_helper_key_list_element(it);
- uint32_t pre_key_id = session_pre_key_get_id(pre_key);
- {
- signal_buffer *serialized_pre_key;
- session_pre_key_serialize(&serialized_pre_key, pre_key);
- szSetting.Format("PreKey%d", pre_key_id);
- db_set_blob(0, ppro->m_szModuleName, szSetting, signal_buffer_data(serialized_pre_key), (unsigned int)signal_buffer_len(serialized_pre_key));
- SIGNAL_UNREF(serialized_pre_key);
- }
-
- ec_key_pair *pre_key_pair = session_pre_key_get_key_pair(pre_key);
- pPubKey = ec_key_pair_get_public(pre_key_pair);
- szSetting.Format("PreKey%dPublic", pre_key_id);
- db_set_blob(0, ppro->m_szModuleName, szSetting, pPubKey->data, sizeof(pPubKey->data));
- }
- signal_protocol_key_helper_key_list_free(keys_root);
- }
-
noiseKeys.pub = ppro->getBlob(DBKEY_NOISE_PUB);
noiseKeys.priv = ppro->getBlob(DBKEY_NOISE_PRIV);
-
- signedIdentity.pub = ppro->getBlob(DBKEY_SIGNED_IDENTITY_PUB);
- signedIdentity.priv = ppro->getBlob(DBKEY_SIGNED_IDENTITY_PRIV);
-
- preKey.pub = ppro->getBlob(DBKEY_PREKEY_PUB);
- preKey.priv = ppro->getBlob(DBKEY_PREKEY_PRIV);
- preKey.keyid = ppro->getDword(DBKEY_PREKEY_KEYID);
- preKey.signature = ppro->getBlob(DBKEY_PREKEY_SIGN);
}
void WANoise::finish()