diff --git a/SignalServiceKit/src/Account/TSAccountManager.m b/SignalServiceKit/src/Account/TSAccountManager.m index 66e0870de..9d9a671b0 100644 --- a/SignalServiceKit/src/Account/TSAccountManager.m +++ b/SignalServiceKit/src/Account/TSAccountManager.m @@ -379,10 +379,8 @@ NSString *const TSAccountManager_NeedsAccountAttributesUpdateKey = @"TSAccountMa failure:(void (^)(NSError *error))failureBlock { NSString *authToken = [[self class] generateNewAccountAuthenticationToken]; - NSString *signalingKey = [[self class] generateNewSignalingKeyToken]; NSString *phoneNumber = self.phoneNumberAwaitingVerification; - OWSAssertDebug(signalingKey); OWSAssertDebug(authToken); OWSAssertDebug(phoneNumber); @@ -400,7 +398,6 @@ NSString *const TSAccountManager_NeedsAccountAttributesUpdateKey = @"TSAccountMa case 200: case 204: { OWSLogInfo(@"Verification code accepted."); - [self storeServerAuthToken:authToken signalingKey:signalingKey]; [TSPreKeyManager createPreKeysWithSuccess:successBlock failure:failureBlock]; [self.profileManager fetchLocalUsersProfile]; break; @@ -464,15 +461,6 @@ NSString *const TSAccountManager_NeedsAccountAttributesUpdateKey = @"TSAccountMa return authTokenPrint; } -+ (NSString *)generateNewSignalingKeyToken { - /*The signalingKey is 32 bytes of AES material (256bit AES) and 20 bytes of - * Hmac key material (HmacSHA1) concatenated into a 52 byte slug that is - * base64 encoded. */ - NSData *signalingKeyToken = [Randomness generateRandomBytes:52]; - NSString *signalingKeyTokenPrint = [[NSData dataWithData:signalingKeyToken] base64EncodedString]; - return signalingKeyTokenPrint; -} - + (nullable NSString *)signalingKey { return [[self sharedInstance] signalingKey]; @@ -495,16 +483,12 @@ NSString *const TSAccountManager_NeedsAccountAttributesUpdateKey = @"TSAccountMa inCollection:TSAccountManager_UserAccountCollection]; } -- (void)storeServerAuthToken:(NSString *)authToken signalingKey:(NSString *)signalingKey +- (void)storeServerAuthToken:(NSString *)authToken { [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { [transaction setObject:authToken forKey:TSAccountManager_ServerAuthToken inCollection:TSAccountManager_UserAccountCollection]; - [transaction setObject:signalingKey - forKey:TSAccountManager_ServerSignalingKey - inCollection:TSAccountManager_UserAccountCollection]; - }]; } diff --git a/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m b/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m index 193d2d3ca..c3e55a469 100644 --- a/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m +++ b/SignalServiceKit/src/Network/WebSockets/OWSWebSocket.m @@ -773,8 +773,10 @@ NSString *const kNSNotification_OWSWebSocketStateDidChange = @"kNSNotification_O BOOL useSignalingKey = [message.headers containsObject:@"X-Signal-Key: true"]; NSData *_Nullable decryptedPayload; if (useSignalingKey) { - decryptedPayload = [Cryptography decryptAppleMessagePayload:message.body - withSignalingKey:TSAccountManager.signalingKey]; + NSString *_Nullable signalingKey = TSAccountManager.signalingKey; + OWSAssertDebug(signalingKey); + decryptedPayload = + [Cryptography decryptAppleMessagePayload:message.body withSignalingKey:signalingKey]; } else { OWSAssertDebug([message.headers containsObject:@"X-Signal-Key: false"]);