mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
33 lines
948 B
Swift
33 lines
948 B
Swift
//
|
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import PromiseKit
|
|
|
|
@objc(SSKCreatePreKeysOperation)
|
|
public class CreatePreKeysOperation: OWSOperation {
|
|
|
|
private var storage: OWSPrimaryStorage {
|
|
return OWSPrimaryStorage.shared()
|
|
}
|
|
|
|
private var identityKeyManager: OWSIdentityManager {
|
|
return OWSIdentityManager.shared()
|
|
}
|
|
|
|
public override func run() {
|
|
Logger.debug("")
|
|
|
|
if identityKeyManager.identityKeyPair() == nil {
|
|
identityKeyManager.generateNewIdentityKeyPair()
|
|
}
|
|
|
|
let signedPreKeyRecord = storage.generateRandomSignedRecord()
|
|
signedPreKeyRecord.markAsAcceptedByService()
|
|
storage.storeSignedPreKey(signedPreKeyRecord.id, signedPreKeyRecord: signedPreKeyRecord)
|
|
storage.setCurrentSignedPrekeyId(signedPreKeyRecord.id)
|
|
SNLog("Pre keys created successfully.")
|
|
reportSuccess()
|
|
}
|
|
}
|