

@ -1,19 +0,0 @@ |
|||
//
|
|||
// Brief.h
|
|||
// Brief
|
|||
//
|
|||
// Created by Max Goedjen on 3/21/20.
|
|||
// Copyright © 2020 Max Goedjen. All rights reserved.
|
|||
//
|
|||
|
|||
#import <Foundation/Foundation.h> |
|||
|
|||
//! Project version number for Brief.
|
|||
FOUNDATION_EXPORT double BriefVersionNumber; |
|||
|
|||
//! Project version string for Brief.
|
|||
FOUNDATION_EXPORT const unsigned char BriefVersionString[]; |
|||
|
|||
// In this header, you should import all the public headers of your framework using statements like #import <Brief/PublicHeader.h>
|
|||
|
|||
|
@ -1,24 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
|||
<plist version="1.0"> |
|||
<dict> |
|||
<key>CFBundleDevelopmentRegion</key> |
|||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
|||
<key>CFBundleExecutable</key> |
|||
<string>$(EXECUTABLE_NAME)</string> |
|||
<key>CFBundleIdentifier</key> |
|||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|||
<key>CFBundleInfoDictionaryVersion</key> |
|||
<string>6.0</string> |
|||
<key>CFBundleName</key> |
|||
<string>$(PRODUCT_NAME)</string> |
|||
<key>CFBundlePackageType</key> |
|||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> |
|||
<key>CFBundleShortVersionString</key> |
|||
<string>1.0</string> |
|||
<key>CFBundleVersion</key> |
|||
<string>$(CURRENT_PROJECT_VERSION)</string> |
|||
<key>NSHumanReadableCopyright</key> |
|||
<string>$(PRODUCT_NAME) is MIT Licensed.</string> |
|||
</dict> |
|||
</plist> |
@ -1,50 +0,0 @@ |
|||
{ |
|||
"configurations" : [ |
|||
{ |
|||
"id" : "5896AE5A-6D5A-48D3-837B-668B646A3273", |
|||
"name" : "Configuration 1", |
|||
"options" : { |
|||
|
|||
} |
|||
} |
|||
], |
|||
"defaultOptions" : { |
|||
|
|||
}, |
|||
"testTargets" : [ |
|||
{ |
|||
"parallelizable" : true, |
|||
"target" : { |
|||
"containerPath" : "container:Secretive.xcodeproj", |
|||
"identifier" : "50617DAF23FCE4AB0099B055", |
|||
"name" : "SecretKitTests" |
|||
} |
|||
}, |
|||
{ |
|||
"parallelizable" : true, |
|||
"target" : { |
|||
"containerPath" : "container:Secretive.xcodeproj", |
|||
"identifier" : "5099A073240242BA0062B6F2", |
|||
"name" : "SecretAgentKitTests" |
|||
} |
|||
}, |
|||
{ |
|||
"enabled" : false, |
|||
"parallelizable" : true, |
|||
"target" : { |
|||
"containerPath" : "container:Secretive.xcodeproj", |
|||
"identifier" : "50617D9323FCE48E0099B055", |
|||
"name" : "SecretiveTests" |
|||
} |
|||
}, |
|||
{ |
|||
"parallelizable" : true, |
|||
"target" : { |
|||
"containerPath" : "container:Secretive.xcodeproj", |
|||
"identifier" : "5091D31E2519D56D0049FD9B", |
|||
"name" : "BriefTests" |
|||
} |
|||
} |
|||
], |
|||
"version" : 1 |
|||
} |
@ -1,24 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
|||
<plist version="1.0"> |
|||
<dict> |
|||
<key>CFBundleDevelopmentRegion</key> |
|||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
|||
<key>CFBundleExecutable</key> |
|||
<string>$(EXECUTABLE_NAME)</string> |
|||
<key>CFBundleIdentifier</key> |
|||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|||
<key>CFBundleInfoDictionaryVersion</key> |
|||
<string>6.0</string> |
|||
<key>CFBundleName</key> |
|||
<string>$(PRODUCT_NAME)</string> |
|||
<key>CFBundlePackageType</key> |
|||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> |
|||
<key>CFBundleShortVersionString</key> |
|||
<string>$(CI_VERSION)</string> |
|||
<key>CFBundleVersion</key> |
|||
<string>$(CURRENT_PROJECT_VERSION)</string> |
|||
<key>NSHumanReadableCopyright</key> |
|||
<string>$(PRODUCT_NAME) is MIT Licensed.</string> |
|||
</dict> |
|||
</plist> |
@ -1,22 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
|||
<plist version="1.0"> |
|||
<dict> |
|||
<key>CFBundleDevelopmentRegion</key> |
|||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
|||
<key>CFBundleExecutable</key> |
|||
<string>$(EXECUTABLE_NAME)</string> |
|||
<key>CFBundleIdentifier</key> |
|||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|||
<key>CFBundleInfoDictionaryVersion</key> |
|||
<string>6.0</string> |
|||
<key>CFBundleName</key> |
|||
<string>$(PRODUCT_NAME)</string> |
|||
<key>CFBundlePackageType</key> |
|||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> |
|||
<key>CFBundleShortVersionString</key> |
|||
<string>1.0</string> |
|||
<key>CFBundleVersion</key> |
|||
<string>1</string> |
|||
</dict> |
|||
</plist> |
@ -1,24 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
|||
<plist version="1.0"> |
|||
<dict> |
|||
<key>CFBundleDevelopmentRegion</key> |
|||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
|||
<key>CFBundleExecutable</key> |
|||
<string>$(EXECUTABLE_NAME)</string> |
|||
<key>CFBundleIdentifier</key> |
|||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|||
<key>CFBundleInfoDictionaryVersion</key> |
|||
<string>6.0</string> |
|||
<key>CFBundleName</key> |
|||
<string>$(PRODUCT_NAME)</string> |
|||
<key>CFBundlePackageType</key> |
|||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> |
|||
<key>CFBundleShortVersionString</key> |
|||
<string>$(CI_VERSION)</string> |
|||
<key>CFBundleVersion</key> |
|||
<string>$(CURRENT_PROJECT_VERSION)</string> |
|||
<key>NSHumanReadableCopyright</key> |
|||
<string>$(PRODUCT_NAME) is MIT Licensed.</string> |
|||
</dict> |
|||
</plist> |
@ -1,11 +0,0 @@ |
|||
#import <Foundation/Foundation.h> |
|||
|
|||
//! Project version number for SecretKit.
|
|||
FOUNDATION_EXPORT double SecretKitVersionNumber; |
|||
|
|||
//! Project version string for SecretKit.
|
|||
FOUNDATION_EXPORT const unsigned char SecretKitVersionString[]; |
|||
|
|||
// In this header, you should import all the public headers of your framework using statements like #import <SecretKit/PublicHeader.h>
|
|||
|
|||
|
@ -1,22 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
|||
<plist version="1.0"> |
|||
<dict> |
|||
<key>CFBundleDevelopmentRegion</key> |
|||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
|||
<key>CFBundleExecutable</key> |
|||
<string>$(EXECUTABLE_NAME)</string> |
|||
<key>CFBundleIdentifier</key> |
|||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|||
<key>CFBundleInfoDictionaryVersion</key> |
|||
<string>6.0</string> |
|||
<key>CFBundleName</key> |
|||
<string>$(PRODUCT_NAME)</string> |
|||
<key>CFBundlePackageType</key> |
|||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> |
|||
<key>CFBundleShortVersionString</key> |
|||
<string>1.0</string> |
|||
<key>CFBundleVersion</key> |
|||
<string>1</string> |
|||
</dict> |
|||
</plist> |
@ -1,85 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<Scheme |
|||
LastUpgradeVersion = "1320" |
|||
version = "1.7"> |
|||
<BuildAction |
|||
parallelizeBuildables = "YES" |
|||
buildImplicitDependencies = "YES"> |
|||
<BuildActionEntries> |
|||
<BuildActionEntry |
|||
buildForTesting = "YES" |
|||
buildForRunning = "YES" |
|||
buildForProfiling = "YES" |
|||
buildForArchiving = "YES" |
|||
buildForAnalyzing = "YES"> |
|||
<BuildableReference |
|||
BuildableIdentifier = "primary" |
|||
BlueprintIdentifier = "5099A06B240242BA0062B6F2" |
|||
BuildableName = "SecretAgentKit.framework" |
|||
BlueprintName = "SecretAgentKit" |
|||
ReferencedContainer = "container:Secretive.xcodeproj"> |
|||
</BuildableReference> |
|||
</BuildActionEntry> |
|||
</BuildActionEntries> |
|||
</BuildAction> |
|||
<TestAction |
|||
buildConfiguration = "Test" |
|||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |
|||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |
|||
shouldUseLaunchSchemeArgsEnv = "YES"> |
|||
<TestPlans> |
|||
<TestPlanReference |
|||
reference = "container:Config/Secretive.xctestplan" |
|||
default = "YES"> |
|||
</TestPlanReference> |
|||
</TestPlans> |
|||
<Testables> |
|||
<TestableReference |
|||
skipped = "NO" |
|||
parallelizable = "YES" |
|||
testExecutionOrdering = "random"> |
|||
<BuildableReference |
|||
BuildableIdentifier = "primary" |
|||
BlueprintIdentifier = "5099A073240242BA0062B6F2" |
|||
BuildableName = "SecretAgentKitTests.xctest" |
|||
BlueprintName = "SecretAgentKitTests" |
|||
ReferencedContainer = "container:Secretive.xcodeproj"> |
|||
</BuildableReference> |
|||
</TestableReference> |
|||
</Testables> |
|||
</TestAction> |
|||
<LaunchAction |
|||
buildConfiguration = "Debug" |
|||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |
|||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |
|||
launchStyle = "0" |
|||
useCustomWorkingDirectory = "NO" |
|||
ignoresPersistentStateOnLaunch = "NO" |
|||
debugDocumentVersioning = "YES" |
|||
debugServiceExtension = "internal" |
|||
allowLocationSimulation = "YES"> |
|||
</LaunchAction> |
|||
<ProfileAction |
|||
buildConfiguration = "Release" |
|||
shouldUseLaunchSchemeArgsEnv = "YES" |
|||
savedToolIdentifier = "" |
|||
useCustomWorkingDirectory = "NO" |
|||
debugDocumentVersioning = "YES"> |
|||
<MacroExpansion> |
|||
<BuildableReference |
|||
BuildableIdentifier = "primary" |
|||
BlueprintIdentifier = "5099A06B240242BA0062B6F2" |
|||
BuildableName = "SecretAgentKit.framework" |
|||
BlueprintName = "SecretAgentKit" |
|||
ReferencedContainer = "container:Secretive.xcodeproj"> |
|||
</BuildableReference> |
|||
</MacroExpansion> |
|||
</ProfileAction> |
|||
<AnalyzeAction |
|||
buildConfiguration = "Debug"> |
|||
</AnalyzeAction> |
|||
<ArchiveAction |
|||
buildConfiguration = "Release" |
|||
revealArchiveInOrganizer = "YES"> |
|||
</ArchiveAction> |
|||
</Scheme> |
@ -1,71 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<Scheme |
|||
LastUpgradeVersion = "1320" |
|||
version = "1.7"> |
|||
<BuildAction |
|||
parallelizeBuildables = "YES" |
|||
buildImplicitDependencies = "YES"> |
|||
<BuildActionEntries> |
|||
<BuildActionEntry |
|||
buildForTesting = "YES" |
|||
buildForRunning = "YES" |
|||
buildForProfiling = "YES" |
|||
buildForArchiving = "YES" |
|||
buildForAnalyzing = "YES"> |
|||
<BuildableReference |
|||
BuildableIdentifier = "primary" |
|||
BlueprintIdentifier = "50617DA723FCE4AB0099B055" |
|||
BuildableName = "SecretKit.framework" |
|||
BlueprintName = "SecretKit" |
|||
ReferencedContainer = "container:Secretive.xcodeproj"> |
|||
</BuildableReference> |
|||
</BuildActionEntry> |
|||
</BuildActionEntries> |
|||
</BuildAction> |
|||
<TestAction |
|||
buildConfiguration = "Test" |
|||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |
|||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |
|||
shouldUseLaunchSchemeArgsEnv = "YES"> |
|||
<TestPlans> |
|||
<TestPlanReference |
|||
reference = "container:Config/Secretive.xctestplan" |
|||
default = "YES"> |
|||
</TestPlanReference> |
|||
</TestPlans> |
|||
</TestAction> |
|||
<LaunchAction |
|||
buildConfiguration = "Debug" |
|||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |
|||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |
|||
launchStyle = "0" |
|||
useCustomWorkingDirectory = "NO" |
|||
ignoresPersistentStateOnLaunch = "NO" |
|||
debugDocumentVersioning = "YES" |
|||
debugServiceExtension = "internal" |
|||
allowLocationSimulation = "YES"> |
|||
</LaunchAction> |
|||
<ProfileAction |
|||
buildConfiguration = "Release" |
|||
shouldUseLaunchSchemeArgsEnv = "YES" |
|||
savedToolIdentifier = "" |
|||
useCustomWorkingDirectory = "NO" |
|||
debugDocumentVersioning = "YES"> |
|||
<MacroExpansion> |
|||
<BuildableReference |
|||
BuildableIdentifier = "primary" |
|||
BlueprintIdentifier = "50617DA723FCE4AB0099B055" |
|||
BuildableName = "SecretKit.framework" |
|||
BlueprintName = "SecretKit" |
|||
ReferencedContainer = "container:Secretive.xcodeproj"> |
|||
</BuildableReference> |
|||
</MacroExpansion> |
|||
</ProfileAction> |
|||
<AnalyzeAction |
|||
buildConfiguration = "Debug"> |
|||
</AnalyzeAction> |
|||
<ArchiveAction |
|||
buildConfiguration = "Release" |
|||
revealArchiveInOrganizer = "YES"> |
|||
</ArchiveAction> |
|||
</Scheme> |
@ -1,22 +0,0 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
|||
<plist version="1.0"> |
|||
<dict> |
|||
<key>CFBundleDevelopmentRegion</key> |
|||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
|||
<key>CFBundleExecutable</key> |
|||
<string>$(EXECUTABLE_NAME)</string> |
|||
<key>CFBundleIdentifier</key> |
|||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|||
<key>CFBundleInfoDictionaryVersion</key> |
|||
<string>6.0</string> |
|||
<key>CFBundleName</key> |
|||
<string>$(PRODUCT_NAME)</string> |
|||
<key>CFBundlePackageType</key> |
|||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> |
|||
<key>CFBundleShortVersionString</key> |
|||
<string>1.0</string> |
|||
<key>CFBundleVersion</key> |
|||
<string>1</string> |
|||
</dict> |
|||
</plist> |
@ -0,0 +1,26 @@ |
|||
{ |
|||
"configurations" : [ |
|||
{ |
|||
"id" : "5896AE5A-6D5A-48D3-837B-668B646A3273", |
|||
"name" : "Configuration 1", |
|||
"options" : { |
|||
|
|||
} |
|||
} |
|||
], |
|||
"defaultOptions" : { |
|||
|
|||
}, |
|||
"testTargets" : [ |
|||
{ |
|||
"enabled" : false, |
|||
"parallelizable" : true, |
|||
"target" : { |
|||
"containerPath" : "container:Secretive.xcodeproj", |
|||
"identifier" : "50617D9323FCE48E0099B055", |
|||
"name" : "SecretiveTests" |
|||
} |
|||
} |
|||
], |
|||
"version" : 1 |
|||
} |
@ -0,0 +1,7 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<Workspace |
|||
version = "1.0"> |
|||
<FileRef |
|||
location = "self:"> |
|||
</FileRef> |
|||
</Workspace> |
@ -0,0 +1,70 @@ |
|||
// swift-tools-version:5.5 |
|||
// The swift-tools-version declares the minimum version of Swift required to build this package. |
|||
|
|||
import PackageDescription |
|||
|
|||
let package = Package( |
|||
name: "SecretivePackages", |
|||
platforms: [ |
|||
.macOS(.v11) |
|||
], |
|||
products: [ |
|||
.library( |
|||
name: "SecretKit", |
|||
targets: ["SecretKit"]), |
|||
.library( |
|||
name: "SecureEnclaveSecretKit", |
|||
targets: ["SecureEnclaveSecretKit"]), |
|||
.library( |
|||
name: "SmartCardSecretKit", |
|||
targets: ["SmartCardSecretKit"]), |
|||
.library( |
|||
name: "SecretAgentKit", |
|||
targets: ["SecretAgentKit"]), |
|||
.library( |
|||
name: "SecretAgentKitHeaders", |
|||
targets: ["SecretAgentKitHeaders"]), |
|||
.library( |
|||
name: "Brief", |
|||
targets: ["Brief"]), |
|||
], |
|||
dependencies: [ |
|||
], |
|||
targets: [ |
|||
.target( |
|||
name: "SecretKit", |
|||
dependencies: [] |
|||
), |
|||
.testTarget( |
|||
name: "SecretKitTests", |
|||
dependencies: ["SecretKit", "SecureEnclaveSecretKit", "SmartCardSecretKit"] |
|||
), |
|||
.target( |
|||
name: "SecureEnclaveSecretKit", |
|||
dependencies: ["SecretKit"] |
|||
), |
|||
.target( |
|||
name: "SmartCardSecretKit", |
|||
dependencies: ["SecretKit"] |
|||
), |
|||
.target( |
|||
name: "SecretAgentKit", |
|||
dependencies: ["SecretKit", "SecretAgentKitHeaders"] |
|||
), |
|||
.systemLibrary( |
|||
name: "SecretAgentKitHeaders" |
|||
), |
|||
.testTarget( |
|||
name: "SecretAgentKitTests", |
|||
dependencies: ["SecretAgentKit"]) |
|||
, |
|||
.target( |
|||
name: "Brief", |
|||
dependencies: [] |
|||
), |
|||
.testTarget( |
|||
name: "BriefTests", |
|||
dependencies: ["Brief"] |
|||
), |
|||
] |
|||
) |
@ -0,0 +1 @@ |
|||
|
@ -0,0 +1,4 @@ |
|||
module SecretAgentKitHeaders [system] { |
|||
header "include/SecretAgentKit.h" |
|||
export * |
|||
} |
@ -1,3 +1,5 @@ |
|||
import Foundation |
|||
|
|||
public protocol Secret: Identifiable, Hashable { |
|||
|
|||
var name: String { get } |
@ -1,5 +1,6 @@ |
|||
import Foundation |
|||
import Combine |
|||
import SecretKit |
|||
|
|||
extension SecureEnclave { |
|||
|
@ -1,5 +1,6 @@ |
|||
import Foundation |
|||
import Combine |
|||
import SecretKit |
|||
|
|||
extension SmartCard { |
|||
|
@ -1,3 +1,4 @@ |
|||
import Foundation |
|||
import SecretAgentKit |
|||
|
|||
class StubFileHandleWriter: FileHandleWriter { |
@ -1,3 +1,4 @@ |
|||
import Foundation |
|||
import SecretKit |
|||
import CryptoKit |
|||
|
@ -1,6 +1,8 @@ |
|||
import Foundation |
|||
import XCTest |
|||
@testable import SecretKit |
|||
@testable import SecureEnclaveSecretKit |
|||
@testable import SmartCardSecretKit |
|||
|
|||
class AnySecretTests: XCTestCase { |
|||
|
@ -1,6 +1,8 @@ |
|||
import Foundation |
|||
import XCTest |
|||
@testable import SecretKit |
|||
@testable import SecureEnclaveSecretKit |
|||
@testable import SmartCardSecretKit |
|||
|
|||
class OpenSSHReaderTests: XCTestCase { |
|||
|
@ -1,6 +1,8 @@ |
|||
import Foundation |
|||
import XCTest |
|||
@testable import SecretKit |
|||
@testable import SecureEnclaveSecretKit |
|||
@testable import SmartCardSecretKit |
|||
|
|||
class OpenSSHWriterTests: XCTestCase { |
|||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
@ -1,6 +1,8 @@ |
|||
import Cocoa |
|||
import SwiftUI |
|||
import SecretKit |
|||
import SecureEnclaveSecretKit |
|||
import SmartCardSecretKit |
|||
import Brief |
|||
|
|||
@main |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
@ -1,5 +1,7 @@ |
|||
import SwiftUI |
|||
import SecretKit |
|||
import SecureEnclaveSecretKit |
|||
import SmartCardSecretKit |
|||
import Brief |
|||
|
|||
struct ContentView<UpdaterType: UpdaterProtocol, AgentStatusCheckerType: AgentStatusCheckerProtocol>: View { |