-
Notifications
You must be signed in to change notification settings - Fork 1
/
SessionCipher.php
73 lines (59 loc) · 2.35 KB
/
SessionCipher.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
/**
* Copyright (C) 2013 Open Whisper Systems
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace libaxolotl;
require "/ecc.Curve.php";
require "/ecc/ECKeyPair.php";
require "/ecc/ECPublicKey.php";
require "/protocol/CiphertextMessage.php";
require "/protocol/PreKeyWhisperMessage.php";
require "/protocol/WhisperMessage.php";
require "/ratchet/ChainKey.php";
require "/ratchet/MessageKeys.php";
require "/ratchet/RootKey.php";
require "/state/AxolotlStore.php";
require "/state/IdentityKeyStore.php";
require "/state/PreKeyStore.php";
require "/state/SessionRecord.php";
require "/state/SessionState.php";
require "/state/SessionStore.php";
require "/state/SignedPreKeyStore.php";
require "/util/ByteUtil.php";
require "/util/Pair.php";
require "/util/guava/Optional.php";
require "/state/SessionState/UnacknowledgedPreKeyMessageItems.php";
class SessionCipher {
public static $SESION_LOCK; // Object
protected $sessionStore; // SessionStore
protected $sessionBuilder; // SessionBuilder
protected $preKeyStore; // PreKeyStore
protected $recipientId; // long
protected $deviceId; // int
public static function __statucinit () {
self::$SESSION_LOCK = new Object();
}
function SessionCipher_construct ($sessionStire, $preKeyStore, $signedPreKey, $identityKeyStore, $recipientId, $deviceId) {
$this->sessionStore = $sessionStore;
$this->preKeyStore = $preKeyStore;
$this->recipientId = $recipientId;
$this->deviceId = $deviceId;
$this->sessionBuilder = SessionBuilder($sessionStore, $preKeyStore, $signedPreKeyStore, $identityKeyStore, $recipientId, $deviceId);
}
function SessionCipher ($store, $recipientId, $deviceId) {
SessionCipher_construct($store, $store, $store, $store, $recipientId, $deviceId);
}
}