Skip to content
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
6579e76
chore(cryptobox): retire `ProteusProvider` - WPB-21821
David-Henner Nov 13, 2025
b974900
remove dead code
David-Henner Nov 24, 2025
f8b7b62
fix legal hold tests
David-Henner Nov 24, 2025
ecd6b28
format
David-Henner Nov 24, 2025
0a40018
Merge branch 'develop' into chore/retire-proteus-provider-WPB-21821
David-Henner Nov 24, 2025
c93bc57
fix tests
David-Henner Nov 25, 2025
3464629
Merge branch 'chore/retire-proteus-provider-WPB-21821' of github.com:…
David-Henner Nov 25, 2025
6b41d50
Merge branch 'develop' into chore/retire-proteus-provider-WPB-21821
David-Henner Nov 28, 2025
37d02a7
chore(cryptobox): remove proteusViaCoreCrypto flag - WPB-14604
David-Henner Nov 25, 2025
4fe5399
avoid force unwrapping note
David-Henner Nov 25, 2025
c81fd15
fix `CallingRequestStrategyTests`
David-Henner Nov 25, 2025
f404214
remove `try`s for non-throwing methods
David-Henner Nov 28, 2025
ae55be2
fix typo
David-Henner Nov 28, 2025
8ce6241
formatting
David-Henner Nov 28, 2025
32f779e
chore(cryptobox): remove keyStore - WPB-7393
David-Henner Nov 28, 2025
0abc7eb
update tests
David-Henner Nov 28, 2025
74d2637
fix flaky test
David-Henner Nov 28, 2025
f2c2c2c
update tests
David-Henner Nov 28, 2025
2194aaf
update tests
David-Henner Nov 28, 2025
d9cb72d
remove tests
David-Henner Nov 28, 2025
31a8972
remove UserClientKeyStoreTests.swift
David-Henner Dec 2, 2025
6dc5169
chore(cryptobox): remove cryptobox framework - WPB-7394
David-Henner Nov 28, 2025
64c9efb
remove cryptobox dependency in mock transport
David-Henner Dec 2, 2025
12be7c6
use readableHash instead of deleted safeForLoggingDescription
David-Henner Dec 2, 2025
b7dedfb
remove cryptobox from wire-ios
David-Henner Dec 2, 2025
d490e33
remove dead functionality to fix decryption errors by resetting session
David-Henner Dec 2, 2025
b0155ae
remove dependency on cryptobox from `MockUserType`
David-Henner Dec 2, 2025
8f5c215
remove share cryptobox developer setting
David-Henner Dec 3, 2025
aab99a8
rename test
David-Henner Dec 3, 2025
ea12798
chore(cryptobox): remove cryptobox migration manager - WPB-22227
David-Henner Dec 5, 2025
6e561d1
fix chatBubbles
David-Henner Dec 5, 2025
526ab97
formatting
David-Henner Dec 5, 2025
7f9f2bf
Merge branch 'develop' into chore/remove-cryptobox-migration-manager-…
David-Henner Dec 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/test_pr_changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,6 @@ jobs:
- 'scripts/**'
wire-ios:
- 'wire-ios/**'
wire-ios-cryptobox:
- 'wire-ios-cryptobox/**'
wire-ios-data-model:
- 'wire-ios-data-model/**'
wire-ios-images:
Expand Down
1 change: 0 additions & 1 deletion Cartfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
github "wireapp/cryptobox-ios" "v1.1.0_xcframework_arm64simulator"
github "wireapp/libPhoneNumber-iOS" "1.1"
github "wireapp/ocmock" "v3.4.3_Xcode14.3.1"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ No license is granted to the Wire trademark and its associated logos, all of whi
The Wire mobile app has an architectural layer that we call *sync engine*. It is the client-side layer that processes all the data that is displayed in the mobile app. It handles network communication and authentication with the backend, push notifications, local caching of data, client-side business logic, signaling with the audio-video libraries, encryption and decryption (using encryption libraries from a lower level) and other bits and pieces.

The user interface layer of the mobile app is built on top of the *sync engine*, which provides the data to display to the UI.
The sync engine itself is built on top of a few third-party frameworks, and uses Wire components that are shared between platforms for cryptography (Proteus/Cryptobox) and audio-video signaling (AVS).
The sync engine itself is built on top of a few third-party frameworks, and uses Wire components that are shared between platforms for cryptography (Proteus/MLS) and audio-video signaling (AVS).

![Mobile app architecture](https://github.com/wireapp/wire/blob/master/assets/mobile-architecture.png?raw=true)

Expand Down
5 changes: 0 additions & 5 deletions WireDomain/Sources/WireDomain/Needle.generated.swift

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ extension PullEventsStep {
accountDirectory: accountContainer,
sharedUserDefaults: sharedUserDefaults,
syncContext: dependency.coreData.syncContext,
cryptoboxMigrationManager: CryptoboxMigrationManager(),
coreCryptoKeyMigrationManager: CoreCryptoKeyMigrationManager(journal: journal),
allowCreation: false,
localDomain: BackendInfo.domain
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,6 @@ extension SyncEventsStep {
accountDirectory: accountContainer,
sharedUserDefaults: sharedUserDefaults,
syncContext: dependency.coreData.syncContext,
cryptoboxMigrationManager: CryptoboxMigrationManager(),
coreCryptoKeyMigrationManager: CoreCryptoKeyMigrationManager(journal: journal),
allowCreation: false,
localDomain: BackendInfo.domain
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ protocol NSEClientScopeDependency: Dependency {
var journal: Journal { get }
var sharedUserDefaults: UserDefaults { get }
var cookieStorage: CookieStorage { get }
var cryptoboxMigrationManager: CryptoboxMigrationManager { get }

}

Expand Down Expand Up @@ -253,7 +252,6 @@ final class NSEClientScope: Component<NSEClientScopeDependency> {
accountDirectory: dependency.userAccountDataURL,
sharedUserDefaults: dependency.sharedUserDefaults,
syncContext: coreDataStack.syncContext,
cryptoboxMigrationManager: dependency.cryptoboxMigrationManager,
coreCryptoKeyMigrationManager: coreCryptoMigrationManager,
allowCreation: false,
localDomain: localDomain
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,6 @@ final class NSEUserScope: Component<NSEUserScopeDependency> {
}
}

public let cryptoboxMigrationManager: CryptoboxMigrationManager = .init()

init(
parent: any Scope,
account: Account
Expand Down Expand Up @@ -143,10 +141,6 @@ final class NSEUserScope: Component<NSEUserScopeDependency> {
throw Failure.userNotAuthenticated
}

guard !cryptoboxMigrationManager.isMigrationNeeded(accountDirectory: userAccountDataURL) else {
throw Failure.mainAppRequired(message: "cryptobox migration required")
}

guard coreCryptoKeyMigrationManager.isAnyMigrationRequired else {
throw Failure.mainAppRequired(message: "core crypto key migration required")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

import CoreData
import GenericMessageProtocol
import WireCryptobox
import WireDataModel
import WireLogging

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@
//

import Clibsodium
import Foundation
import WireCrypto
import WireUtilities
public import Foundation

public extension ChaCha20Poly1305 {

Expand Down Expand Up @@ -152,11 +150,11 @@ public extension ChaCha20Poly1305 {

// MARK: - Verification

private static func verifyKey(bytes: [Byte]) throws {
private static func verifyKey(bytes: [UInt8]) throws {
guard bytes.count == keyLength else { throw EncryptionError.malformedKey }
}

private static func verifyNonce(bytes: [Byte]) throws {
private static func verifyNonce(bytes: [UInt8]) throws {
guard bytes.count == nonceLength else { throw EncryptionError.malformedNonce }
}

Expand All @@ -182,14 +180,14 @@ public extension ChaCha20Poly1305 {

// MARK: - Buffer creation

static func generateRandomNonceBytes() -> [Byte] {
static func generateRandomNonceBytes() -> [UInt8] {
var nonce = createByteArray(length: nonceLength)
randombytes_buf(&nonce, nonce.count)
return nonce
}

private static func createByteArray(length: Int) -> [Byte] {
[Byte](repeating: 0, count: length)
private static func createByteArray(length: Int) -> [UInt8] {
[UInt8](repeating: 0, count: length)
}

}
Expand Down
5 changes: 0 additions & 5 deletions fastlane/framework.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ def self.all
"WireUI",
"wire-ios",
"wire-ios-canvas",
"wire-ios-cryptobox",
"wire-ios-data-model",
"wire-ios-images",
"wire-ios-link-preview",
Expand Down Expand Up @@ -65,7 +64,6 @@ def self.all
frameworks["wire-ios-request-strategy"].add_dependency(frameworks["WireNetwork"])
frameworks["wire-ios-request-strategy"].add_dependency(frameworks["WireLogging"])

frameworks["wire-ios-data-model"].add_dependency(frameworks["wire-ios-cryptobox"])
frameworks["wire-ios-data-model"].add_dependency(frameworks["wire-ios-images"])
frameworks["wire-ios-data-model"].add_dependency(frameworks["wire-ios-link-preview"])
frameworks["wire-ios-data-model"].add_dependency(frameworks["wire-ios-transport"])
Expand All @@ -75,9 +73,6 @@ def self.all
frameworks["wire-ios-data-model"].add_dependency(frameworks["WireLogging"])

frameworks["wire-ios-mocktransport"].add_dependency(frameworks["wire-ios-testing"])
frameworks["wire-ios-mocktransport"].add_dependency(frameworks["wire-ios-cryptobox"])

frameworks["wire-ios-cryptobox"].add_dependency(frameworks["wire-ios-utilities"])

frameworks["wire-ios-transport"].add_dependency(frameworks["wire-ios-utilities"])
frameworks["wire-ios-transport"].add_dependency(frameworks["wire-ios-testing"]) # included in WireTransportTests
Expand Down
22 changes: 0 additions & 22 deletions wire-ios-cryptobox/Resources/Configurations/WireCryptobox.xcconfig

This file was deleted.

20 changes: 0 additions & 20 deletions wire-ios-cryptobox/Resources/Configurations/version.xcconfig

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading