From cd43adac10bb1c4737359278f0691dff4a105551 Mon Sep 17 00:00:00 2001 From: Max Goedjen Date: Sat, 11 Dec 2021 17:59:29 -0800 Subject: [PATCH] Cleanup. --- SecretKit/SecureEnclave/SecureEnclaveStore.swift | 16 +++++++++------- Secretive.xcodeproj/project.pbxproj | 5 ++++- .../xcshareddata/xcschemes/SecretAgent.xcscheme | 2 +- .../xcschemes/SecretAgentKit.xcscheme | 2 +- .../xcshareddata/xcschemes/SecretKit.xcscheme | 2 +- .../xcshareddata/xcschemes/Secretive.xcscheme | 2 +- Secretive/Views/CopyableView.swift | 3 ++- 7 files changed, 19 insertions(+), 13 deletions(-) diff --git a/SecretKit/SecureEnclave/SecureEnclaveStore.swift b/SecretKit/SecureEnclave/SecureEnclaveStore.swift index 2a18a83..8e68c9f 100644 --- a/SecretKit/SecureEnclave/SecureEnclaveStore.swift +++ b/SecretKit/SecureEnclave/SecureEnclaveStore.swift @@ -56,13 +56,15 @@ extension SecureEnclave { ] ] as CFDictionary - var privateKey: SecKey? = nil - var publicKey: SecKey? = nil - let status = SecKeyGeneratePair(attributes, &publicKey, &privateKey) - guard privateKey != nil, let pk = publicKey else { - throw KeychainError(statusCode: status) + var createKeyError: SecurityError? + let keypair = SecKeyCreateRandomKey(attributes, &createKeyError) + if let error = createKeyError { + throw error.takeRetainedValue() as Error } - try savePublicKey(pk, name: name) + guard let keypair = keypair, let publicKey = SecKeyCopyPublicKey(keypair) else { + throw KeychainError(statusCode: nil) + } + try savePublicKey(publicKey, name: name) reloadSecrets() } @@ -218,7 +220,7 @@ extension SecureEnclave.Store { extension SecureEnclave { public struct KeychainError: Error { - public let statusCode: OSStatus + public let statusCode: OSStatus? } public struct SigningError: Error { diff --git a/Secretive.xcodeproj/project.pbxproj b/Secretive.xcodeproj/project.pbxproj index 630f5c5..e2b5406 100644 --- a/Secretive.xcodeproj/project.pbxproj +++ b/Secretive.xcodeproj/project.pbxproj @@ -870,7 +870,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1220; - LastUpgradeCheck = 1130; + LastUpgradeCheck = 1320; ORGANIZATIONNAME = "Max Goedjen"; TargetAttributes = { 50617D7E23FCE48D0099B055 = { @@ -1221,6 +1221,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1282,6 +1283,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -1617,6 +1619,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; diff --git a/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme b/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme index e425e9c..647184f 100644 --- a/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme +++ b/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme @@ -1,6 +1,6 @@