TM-SGNL-iOS/SignalServiceKit/Curve25519/PublicKey.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

21 lines
612 B
Swift

//
// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
public import LibSignalClient
extension PublicKey {
public convenience init(keyData: Data) throws {
if keyData.count != Constants.keyLengthDJB {
throw SignalError.invalidKey("invalid number of public key bytes (expected \(Constants.keyLengthDJB), was \(keyData.count))")
}
try self.init([Constants.keyTypeDJB] + keyData)
}
public enum Constants {
public static let keyTypeDJB: UInt8 = 0x05
public static let keyLengthDJB: Int = 32
}
}