diff --git a/Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveStore.swift b/Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveStore.swift index 7a4a3a6..e395848 100644 --- a/Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveStore.swift +++ b/Sources/Packages/Sources/SecureEnclaveSecretKit/SecureEnclaveStore.swift @@ -98,7 +98,7 @@ extension SecureEnclave { // MARK: SecretStoreModifiable - public func create(name: String, attributes: Attributes) async throws { + public func create(name: String, attributes: Attributes) async throws -> Secret { var accessError: SecurityError? let flags: SecAccessControlCreateFlags = switch attributes.authentication { case .notRequired: @@ -119,18 +119,18 @@ extension SecureEnclave { throw error.takeRetainedValue() as Error } let dataRep: Data + let publicKey: Data switch (attributes.keyType.algorithm, attributes.keyType.size) { case (.ecdsa, 256): - let publicKey: Data let created = try CryptoKit.SecureEnclave.P256.Signing.PrivateKey(accessControl: access!) dataRep = created.dataRepresentation - case (.mldsa, 65): publicKey = created.publicKey.x963Representation + case (.mldsa, 65): guard #available(macOS 26.0, *) else { throw Attributes.UnsupportedOptionError() } let created = try CryptoKit.SecureEnclave.MLDSA65.PrivateKey(accessControl: access!) dataRep = created.dataRepresentation - case (.mldsa, 87): publicKey = created.publicKey.rawRepresentation + case (.mldsa, 87): guard #available(macOS 26.0, *) else { throw Attributes.UnsupportedOptionError() } let created = try CryptoKit.SecureEnclave.MLDSA87.PrivateKey(accessControl: access!) dataRep = created.dataRepresentation