This commit is contained in:
Ben Toews 2017-07-19 11:54:47 -06:00
Родитель bb192edd77
Коммит 06061b6244
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: E9C423BE17EFEE70
67 изменённых файлов: 155 добавлений и 373 удалений

Просмотреть файл

@ -1,6 +1,6 @@
//
// AuthenticationRequest.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/14/16.
// Copyright © 2017 GitHub. All rights reserved.
@ -12,7 +12,7 @@ public struct AuthenticationRequest: RawConvertible {
public let header: CommandHeader
public let body: Data
public let trailer: CommandTrailer
public var control: Control {
return Control(rawValue: header.p1) ?? .Invalid
}
@ -28,7 +28,7 @@ public struct AuthenticationRequest: RawConvertible {
let upperBound = lowerBound + U2F_APPID_SIZE
return body.subdata(in: lowerBound..<upperBound)
}
var keyHandleLength: Int {
return Int(body[U2F_CHAL_SIZE + U2F_APPID_SIZE])
}
@ -45,7 +45,7 @@ public struct AuthenticationRequest: RawConvertible {
writer.writeData(applicationParameter)
writer.write(UInt8(keyHandle.count))
writer.writeData(keyHandle)
self.body = writer.buffer
self.header = CommandHeader(ins: .Authenticate, p1: control.rawValue, dataLength: body.count)
self.trailer = CommandTrailer(noBody: false)
@ -58,17 +58,17 @@ extension AuthenticationRequest: Command {
self.body = body
self.trailer = trailer
}
public func validateBody() throws {
// Make sure it's at least long enough to have key-handle length.
if body.count < U2F_CHAL_SIZE + U2F_APPID_SIZE + 1 {
throw ResponseStatus.WrongLength
}
if body.count != U2F_CHAL_SIZE + U2F_APPID_SIZE + 1 + keyHandleLength {
throw ResponseStatus.WrongLength
}
if control == .Invalid {
throw ResponseStatus.OtherError
}

Просмотреть файл

@ -1,6 +1,6 @@
//
// AuthenticationResponse.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/14/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// Command.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/7/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// CommandHeader.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/11/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// CommandTrailer.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/25/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// Constants.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/7/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// DataReader.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/11/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// DataWriter.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/12/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// EndianProtocol.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/12/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// ErrorResponse.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/26/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// MessagePart.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/7/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// RawConvertible.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/7/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// RegisterRequest.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/10/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// RegisterResponse.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/11/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// Response.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/7/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// VersionRequest.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/25/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// VersionResponse.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/25/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// AuthenticationRequestTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/6/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// CommandHeaderTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/11/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// CommandTrailerTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/25/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// DataReaderTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/11/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// DataWriterTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/12/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// RegisterRequestTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/6/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// ResponseTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/12/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// Util.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/10/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// VersionRequestTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/6/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -23,19 +23,19 @@ The app runs in the background. When a site loaded in a U2F-compatible browser a
Unload the launchd agent
```
$ launchctl unload ~/Library/LaunchAgents/com.github.SoftU2FTool.plist
$ launchctl unload ~/Library/LaunchAgents/com.github.SoftU2F.plist
```
Delete the launch agent plist
```
$ rm ~/Library/LaunchAgents/com.github.SoftU2FTool.plist
$ rm ~/Library/LaunchAgents/com.github.SoftU2F.plist
```
Delete the `.app`
```
$ sudo rm -rf /Applications/SoftU2FTool.app/
$ sudo rm -rf /Applications/SoftU2F.app/
```
Unload the kernel extension (this may fail if a browser is still talking to the driver. Deleting the `.kext` and restarting the system will fix this)
@ -62,7 +62,7 @@ You must have Xcode Command Line Tools installed to build this project.
# Install Commaned Line Tools
xcode-select --install
# Build softu2f.kext and SoftU2FTool.app.
# Build softu2f.kext and SoftU2F.app.
script/build
```

Просмотреть файл

@ -1,6 +1,6 @@
//
// private.h
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/7/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -176,19 +176,19 @@
5131C1B11E3B9EA1006A820C /* libu2f-host.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libu2f-host.a"; path = "../../../../usr/local/Cellar/libu2f-host/1.1.3/lib/libu2f-host.a"; sourceTree = "<group>"; };
514F3D811E43C833008FA513 /* Keychain.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keychain.swift; sourceTree = "<group>"; };
514F3D861E43E828008FA513 /* KeyPair.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyPair.swift; sourceTree = "<group>"; };
518537BF1E380E4600600911 /* SoftU2FTool-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SoftU2FTool-Bridging-Header.h"; sourceTree = "<group>"; };
518537BF1E380E4600600911 /* SoftU2F-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SoftU2F-Bridging-Header.h"; sourceTree = "<group>"; };
5190B6111E3BFE3D00E6FE06 /* UserPresence.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserPresence.swift; sourceTree = "<group>"; };
51B289E41E39903F00AD90CC /* U2FAuthenticator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = U2FAuthenticator.swift; sourceTree = "<group>"; };
51E214531E3822B8005B2864 /* SoftU2FToolTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SoftU2FToolTests-Bridging-Header.h"; sourceTree = "<group>"; };
51E214531E3822B8005B2864 /* SoftU2FTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SoftU2FTests-Bridging-Header.h"; sourceTree = "<group>"; };
51E2145D1E3823E0005B2864 /* SHA256Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SHA256Tests.swift; sourceTree = "<group>"; };
51E2145F1E3823E7005B2864 /* SHA256.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SHA256.swift; sourceTree = "<group>"; };
51E214611E382521005B2864 /* WebSafeBase64.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSafeBase64.swift; sourceTree = "<group>"; };
51E214631E382529005B2864 /* WebSafeBase64Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSafeBase64Tests.swift; sourceTree = "<group>"; };
51EF60B11E427EE200D429F2 /* UtilsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UtilsTests.swift; sourceTree = "<group>"; };
51F0900C1E37E8C600F03AD3 /* SoftU2FTool.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SoftU2FTool.app; sourceTree = BUILT_PRODUCTS_DIR; };
51F0900C1E37E8C600F03AD3 /* SoftU2F.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SoftU2F.app; sourceTree = BUILT_PRODUCTS_DIR; };
51F0900F1E37E8C600F03AD3 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
51F090181E37E8C600F03AD3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
51F0901D1E37E8C600F03AD3 /* SoftU2FToolTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SoftU2FToolTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
51F0901D1E37E8C600F03AD3 /* SoftU2FTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SoftU2FTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
51F090231E37E8C600F03AD3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
51FE30EC1E403DA000BAE824 /* U2FRegistration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = U2FRegistration.swift; sourceTree = "<group>"; };
51FE30EE1E40F3DB00BAE824 /* U2FRegistrationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = U2FRegistrationTests.swift; sourceTree = "<group>"; };
@ -331,8 +331,8 @@
children = (
F725EBC51F1FAD3C000A003C /* SoftU2FDriver */,
F725EBE71F1FB0BD000A003C /* SoftU2FDriverLib */,
51F0900E1E37E8C600F03AD3 /* SoftU2FTool */,
51F090201E37E8C600F03AD3 /* SoftU2FToolTests */,
51F0900E1E37E8C600F03AD3 /* SoftU2F */,
51F090201E37E8C600F03AD3 /* SoftU2FTests */,
F738F4F21E4A2CCB005680A2 /* APDU */,
F738F5301E4A2E8A005680A2 /* APDUTests */,
F738F55B1E4A31DE005680A2 /* SelfSignedCertificate */,
@ -345,8 +345,8 @@
51F0900D1E37E8C600F03AD3 /* Products */ = {
isa = PBXGroup;
children = (
51F0900C1E37E8C600F03AD3 /* SoftU2FTool.app */,
51F0901D1E37E8C600F03AD3 /* SoftU2FToolTests.xctest */,
51F0900C1E37E8C600F03AD3 /* SoftU2F.app */,
51F0901D1E37E8C600F03AD3 /* SoftU2FTests.xctest */,
F738F4F11E4A2CCB005680A2 /* APDU.framework */,
F738F52F1E4A2E8A005680A2 /* APDUTests.xctest */,
F738F55A1E4A31DE005680A2 /* SelfSignedCertificate.framework */,
@ -357,7 +357,7 @@
name = Products;
sourceTree = "<group>";
};
51F0900E1E37E8C600F03AD3 /* SoftU2FTool */ = {
51F0900E1E37E8C600F03AD3 /* SoftU2F */ = {
isa = PBXGroup;
children = (
F7ABD9BD1E80603D00768FEC /* Assets.xcassets */,
@ -374,13 +374,14 @@
51213EC51E3916EB005454E0 /* U2FHID.swift */,
51B289E41E39903F00AD90CC /* U2FAuthenticator.swift */,
51FE30EC1E403DA000BAE824 /* U2FRegistration.swift */,
518537BF1E380E4600600911 /* SoftU2FTool-Bridging-Header.h */,
518537BF1E380E4600600911 /* SoftU2F-Bridging-Header.h */,
51F090181E37E8C600F03AD3 /* Info.plist */,
);
name = SoftU2F;
path = SoftU2FTool;
sourceTree = "<group>";
};
51F090201E37E8C600F03AD3 /* SoftU2FToolTests */ = {
51F090201E37E8C600F03AD3 /* SoftU2FTests */ = {
isa = PBXGroup;
children = (
51FE30EE1E40F3DB00BAE824 /* U2FRegistrationTests.swift */,
@ -391,9 +392,10 @@
51FFC71E1E3FEAA4006275E2 /* SoftU2FTestCase.swift */,
51EF60B11E427EE200D429F2 /* UtilsTests.swift */,
51213EC11E3834F8005454E0 /* TestUtil.swift */,
51E214531E3822B8005B2864 /* SoftU2FToolTests-Bridging-Header.h */,
51E214531E3822B8005B2864 /* SoftU2FTests-Bridging-Header.h */,
51F090231E37E8C600F03AD3 /* Info.plist */,
);
name = SoftU2FTests;
path = SoftU2FToolTests;
sourceTree = "<group>";
};
@ -546,9 +548,9 @@
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
51F0900B1E37E8C600F03AD3 /* SoftU2FTool */ = {
51F0900B1E37E8C600F03AD3 /* SoftU2F */ = {
isa = PBXNativeTarget;
buildConfigurationList = 51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTool" */;
buildConfigurationList = 51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2F" */;
buildPhases = (
51F090081E37E8C600F03AD3 /* Sources */,
51F090091E37E8C600F03AD3 /* Frameworks */,
@ -562,14 +564,14 @@
F738F4F71E4A2CCC005680A2 /* PBXTargetDependency */,
F738F5601E4A31DE005680A2 /* PBXTargetDependency */,
);
name = SoftU2FTool;
name = SoftU2F;
productName = SoftU2FTool;
productReference = 51F0900C1E37E8C600F03AD3 /* SoftU2FTool.app */;
productReference = 51F0900C1E37E8C600F03AD3 /* SoftU2F.app */;
productType = "com.apple.product-type.application";
};
51F0901C1E37E8C600F03AD3 /* SoftU2FToolTests */ = {
51F0901C1E37E8C600F03AD3 /* SoftU2FTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FToolTests" */;
buildConfigurationList = 51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTests" */;
buildPhases = (
51F090191E37E8C600F03AD3 /* Sources */,
51F0901A1E37E8C600F03AD3 /* Frameworks */,
@ -580,9 +582,9 @@
dependencies = (
51F0901F1E37E8C600F03AD3 /* PBXTargetDependency */,
);
name = SoftU2FToolTests;
name = SoftU2FTests;
productName = SoftU2FToolTests;
productReference = 51F0901D1E37E8C600F03AD3 /* SoftU2FToolTests.xctest */;
productReference = 51F0901D1E37E8C600F03AD3 /* SoftU2FTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
F725EBC31F1FAD3C000A003C /* SoftU2FDriver */ = {
@ -754,7 +756,7 @@
};
};
};
buildConfigurationList = 51F090071E37E8C500F03AD3 /* Build configuration list for PBXProject "SoftU2FTool" */;
buildConfigurationList = 51F090071E37E8C500F03AD3 /* Build configuration list for PBXProject "SoftU2F" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
@ -767,8 +769,8 @@
projectDirPath = "";
projectRoot = "";
targets = (
51F0900B1E37E8C600F03AD3 /* SoftU2FTool */,
51F0901C1E37E8C600F03AD3 /* SoftU2FToolTests */,
51F0900B1E37E8C600F03AD3 /* SoftU2F */,
51F0901C1E37E8C600F03AD3 /* SoftU2FTests */,
F738F4F01E4A2CCB005680A2 /* APDU */,
F738F52E1E4A2E8A005680A2 /* APDUTests */,
F738F5591E4A31DE005680A2 /* SelfSignedCertificate */,
@ -964,7 +966,7 @@
/* Begin PBXTargetDependency section */
51F0901F1E37E8C600F03AD3 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 51F0900B1E37E8C600F03AD3 /* SoftU2FTool */;
target = 51F0900B1E37E8C600F03AD3 /* SoftU2F */;
targetProxy = 51F0901E1E37E8C600F03AD3 /* PBXContainerItemProxy */;
};
F725EBF41F1FB15E000A003C /* PBXTargetDependency */ = {
@ -1108,7 +1110,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "0d639ce7-4261-41e5-8e5d-8a39cdfc8c41";
PROVISIONING_PROFILE_SPECIFIER = SoftU2FTool;
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FTool/SoftU2FTool-Bridging-Header.h";
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FTool/SoftU2F-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
};
@ -1132,7 +1134,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE = "0d639ce7-4261-41e5-8e5d-8a39cdfc8c41";
PROVISIONING_PROFILE_SPECIFIER = SoftU2FTool;
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FTool/SoftU2FTool-Bridging-Header.h";
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FTool/SoftU2F-Bridging-Header.h";
SWIFT_VERSION = 3.0;
};
name = Release;
@ -1153,10 +1155,10 @@
PRODUCT_BUNDLE_IDENTIFIER = com.github.SoftU2FToolTests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FToolTests/SoftU2FToolTests-Bridging-Header.h";
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FToolTests/SoftU2FTests-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 3.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SoftU2FTool.app/Contents/MacOS/SoftU2FTool";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SoftU2F.app/Contents/MacOS/SoftU2F";
};
name = Debug;
};
@ -1176,9 +1178,9 @@
PRODUCT_BUNDLE_IDENTIFIER = com.github.SoftU2FToolTests;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FToolTests/SoftU2FToolTests-Bridging-Header.h";
SWIFT_OBJC_BRIDGING_HEADER = "SoftU2FToolTests/SoftU2FTests-Bridging-Header.h";
SWIFT_VERSION = 3.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SoftU2FTool.app/Contents/MacOS/SoftU2FTool";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SoftU2F.app/Contents/MacOS/SoftU2F";
};
name = Release;
};
@ -1424,7 +1426,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
51F090071E37E8C500F03AD3 /* Build configuration list for PBXProject "SoftU2FTool" */ = {
51F090071E37E8C500F03AD3 /* Build configuration list for PBXProject "SoftU2F" */ = {
isa = XCConfigurationList;
buildConfigurations = (
51F090241E37E8C600F03AD3 /* Debug */,
@ -1433,7 +1435,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTool" */ = {
51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2F" */ = {
isa = XCConfigurationList;
buildConfigurations = (
51F090271E37E8C600F03AD3 /* Debug */,
@ -1442,7 +1444,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FToolTests" */ = {
51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
51F0902A1E37E8C600F03AD3 /* Debug */,

Просмотреть файл

@ -2,6 +2,6 @@
<Workspace
version = "1.0">
<FileRef
location = "self:SoftU2FTool.xcodeproj">
location = "self:/Users/mastahyeti/Projects/SoftU2FTool/SoftU2F.xcodeproj">
</FileRef>
</Workspace>

Просмотреть файл

@ -17,7 +17,7 @@
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
BuildableName = "APDU.framework"
BlueprintName = "APDU"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -35,7 +35,7 @@
BlueprintIdentifier = "F738F52E1E4A2E8A005680A2"
BuildableName = "APDUTests.xctest"
BlueprintName = "APDUTests"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
@ -45,7 +45,7 @@
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
BuildableName = "APDU.framework"
BlueprintName = "APDU"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -67,7 +67,7 @@
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
BuildableName = "APDU.framework"
BlueprintName = "APDU"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -85,7 +85,7 @@
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
BuildableName = "APDU.framework"
BlueprintName = "APDU"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>

Просмотреть файл

@ -17,7 +17,7 @@
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
BuildableName = "SelfSignedCertificate.framework"
BlueprintName = "SelfSignedCertificate"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -35,7 +35,7 @@
BlueprintIdentifier = "F738F5701E4A3328005680A2"
BuildableName = "SelfSignedCertificateTests.xctest"
BlueprintName = "SelfSignedCertificateTests"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
@ -45,7 +45,7 @@
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
BuildableName = "SelfSignedCertificate.framework"
BlueprintName = "SelfSignedCertificate"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -67,7 +67,7 @@
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
BuildableName = "SelfSignedCertificate.framework"
BlueprintName = "SelfSignedCertificate"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -85,7 +85,7 @@
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
BuildableName = "SelfSignedCertificate.framework"
BlueprintName = "SelfSignedCertificate"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>

Просмотреть файл

@ -15,9 +15,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
BuildableName = "SoftU2F.app"
BlueprintName = "SoftU2F"
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
@ -31,7 +31,7 @@
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
BuildableName = "softu2f.kext"
BlueprintName = "SoftU2FDriver"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -47,9 +47,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0901C1E37E8C600F03AD3"
BuildableName = "SoftU2FToolTests.xctest"
BlueprintName = "SoftU2FToolTests"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
BuildableName = "SoftU2FTests.xctest"
BlueprintName = "SoftU2FTests"
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
<SkippedTests>
<Test
@ -62,9 +62,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
BuildableName = "SoftU2F.app"
BlueprintName = "SoftU2F"
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -85,9 +85,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
BuildableName = "SoftU2F.app"
BlueprintName = "SoftU2F"
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
@ -104,9 +104,9 @@
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
BuildableName = "SoftU2F.app"
BlueprintName = "SoftU2F"
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>

Просмотреть файл

@ -17,7 +17,7 @@
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
BuildableName = "softu2f.kext"
BlueprintName = "SoftU2FDriver"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -48,7 +48,7 @@
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
BuildableName = "softu2f.kext"
BlueprintName = "SoftU2FDriver"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -66,7 +66,7 @@
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
BuildableName = "softu2f.kext"
BlueprintName = "SoftU2FDriver"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>

Просмотреть файл

@ -17,7 +17,7 @@
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
BuildableName = "libsoftu2f.a"
BlueprintName = "SoftU2FDriverLib"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
@ -48,7 +48,7 @@
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
BuildableName = "libsoftu2f.a"
BlueprintName = "SoftU2FDriverLib"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
@ -66,7 +66,7 @@
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
BuildableName = "libsoftu2f.a"
BlueprintName = "SoftU2FDriverLib"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
ReferencedContainer = "container:SoftU2F.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>

Просмотреть файл

@ -1,30 +0,0 @@
{
"DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "AC56B5A826EFC8C045C4CEFFD93C0FC5723044B9",
"DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
},
"DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
"AC56B5A826EFC8C045C4CEFFD93C0FC5723044B9" : 9223372036854775807,
"255AD7C5569D0E3618B1ECBAA9C64282DB21D5ED" : 9223372036854775807
},
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "3853A582-91BA-44CF-83E2-E47CCF59790D",
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
"AC56B5A826EFC8C045C4CEFFD93C0FC5723044B9" : "SoftU2FTool\/",
"255AD7C5569D0E3618B1ECBAA9C64282DB21D5ED" : "SoftU2FTool\/SoftU2F\/"
},
"DVTSourceControlWorkspaceBlueprintNameKey" : "SoftU2FTool",
"DVTSourceControlWorkspaceBlueprintVersion" : 204,
"DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "SoftU2FTool.xcodeproj",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/mastahyeti\/SoftU2F",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "255AD7C5569D0E3618B1ECBAA9C64282DB21D5ED"
},
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/mastahyeti\/SoftU2FTool",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "AC56B5A826EFC8C045C4CEFFD93C0FC5723044B9"
}
]
}

Просмотреть файл

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SoftU2FTool/KeyInterface/KeyInterface.m"
timestampString = "507573396.338835"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "69"
endingLineNumber = "69"
landmarkName = "+publicKeyExists:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SoftU2FTool/U2FKey.swift"
timestampString = "507583918.639253"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "208"
endingLineNumber = "208"
landmarkName = "delete()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

Просмотреть файл

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0820"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0901C1E37E8C600F03AD3"
BuildableName = "SoftU2FToolTests.xctest"
BlueprintName = "SoftU2FToolTests"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</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">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
BuildableName = "SoftU2FTool.app"
BlueprintName = "SoftU2FTool"
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

Просмотреть файл

@ -1,57 +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>SchemeUserState</key>
<dict>
<key>APDU.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
</dict>
<key>SelfSignedCertificate.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>6</integer>
</dict>
<key>SoftU2FTool.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>2</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>51F0900B1E37E8C600F03AD3</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>51F0901C1E37E8C600F03AD3</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>F738F4F01E4A2CCB005680A2</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>F738F52E1E4A2E8A005680A2</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>F738F5591E4A31DE005680A2</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>F738F5701E4A3328005680A2</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>

Просмотреть файл

@ -1,6 +1,6 @@
//
// AppDelegate.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/24/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// KeyPair.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/2/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// Keychain.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/2/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// KnownFacets.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/27/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// SHA256.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/10/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -4,7 +4,7 @@
<dict>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.github.SoftU2FTool</string>
<string>$(AppIdentifierPrefix)com.github.SoftU2F</string>
</array>
</dict>
</plist>

Просмотреть файл

@ -1,6 +1,6 @@
//
// U2FAuthenticator.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/25/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// HIDU2F.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/25/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// U2FRegistration.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/30/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// UserPresence.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/27/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// Utils.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/31/17.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// WebSafeBase64.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/13/16.
// Copyright © 2017 GitHub. All rights reserved.

Просмотреть файл

@ -1,6 +1,6 @@
//
// IntegrationTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/27/17.
// Copyright © 2017 GitHub. All rights reserved.
@ -9,7 +9,7 @@
import XCTest
import APDU
@testable import SoftU2FTool
@testable import SoftU2F
class IntegrationTests: SoftU2FTestCase {
override func tearDown() {
let _ = U2FRegistration.deleteAll()

Просмотреть файл

@ -1,6 +1,6 @@
//
// SHA256Tests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/10/16.
// Copyright © 2017 GitHub. All rights reserved.
@ -8,7 +8,7 @@
import XCTest
@testable import SoftU2FTool
@testable import SoftU2F
class SHA256Tests: XCTestCase {
func testDigestFormats() throws {
let hash = SHA256(data: "hello world".data(using: .utf8)!)

Просмотреть файл

@ -1,13 +1,13 @@
//
// SoftU2FTestCase.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/30/17.
// Copyright © 2017 GitHub. All rights reserved.
//
import XCTest
@testable import SoftU2FTool
@testable import SoftU2F
class SoftU2FTestCase: XCTestCase {
static var nameSpaceWas = U2FRegistration.namespace

Просмотреть файл

@ -0,0 +1,2 @@
#import "u2f-host.h"
#import "SoftU2F-Bridging-Header.h"

Просмотреть файл

@ -1 +0,0 @@
#import "u2f-host.h"

Просмотреть файл

@ -1,13 +1,13 @@
//
// Util.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/10/16.
// Copyright © 2017 GitHub. All rights reserved.
//
import XCTest
@testable import SoftU2FTool
@testable import SoftU2F
func tupleDigestEqual(_ a: SHA256.TupleDigest, _ b: SHA256.TupleDigest) -> Bool {
return a.0 == b.0 &&

Просмотреть файл

@ -1,6 +1,6 @@
//
// U2FHIDTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/25/17.
// Copyright © 2017 GitHub. All rights reserved.
@ -8,7 +8,7 @@
import XCTest
@testable import SoftU2FTool
@testable import SoftU2F
class U2FHIDTests: XCTestCase {
func testInit() {
XCTAssertNotNil(U2FHID.shared)

Просмотреть файл

@ -1,13 +1,13 @@
//
// U2FRegistrationTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 1/31/17.
// Copyright © 2017 GitHub. All rights reserved.
//
import XCTest
@testable import SoftU2FTool
@testable import SoftU2F
class U2FRegistrationTests: SoftU2FTestCase {
var makeKey: U2FRegistration? { return U2FRegistration(applicationParameter: randData(length: 32)) }

Просмотреть файл

@ -1,13 +1,13 @@
//
// UtilsTests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 2/1/17.
// Copyright © 2017 GitHub. All rights reserved.
//
import XCTest
@testable import SoftU2FTool
@testable import SoftU2F
class UtilsTests: XCTestCase {
func testPadUnpadKeyHandle() {

Просмотреть файл

@ -1,6 +1,6 @@
//
// WebSafeBase64Tests.swift
// SoftU2FTool
// SoftU2F
//
// Created by Benjamin P Toews on 9/13/16.
// Copyright © 2017 GitHub. All rights reserved.
@ -8,7 +8,7 @@
import XCTest
@testable import SoftU2FTool
@testable import SoftU2F
class WebSafeBase64Tests: XCTestCase {
func testRoundTrip() {
for length in 0...10 {

Просмотреть файл

@ -2,7 +2,7 @@
set -e
KEXT="/Library/Extensions/softu2f.kext"
LAUNCH_AGENT_PLIST="$HOME/Library/LaunchAgents/com.github.SoftU2FTool.plist"
LAUNCH_AGENT_PLIST="$HOME/Library/LaunchAgents/com.github.SoftU2F.plist"
# Make sure the kext is loaded
kextutil $KEXT
@ -14,12 +14,12 @@ cat > $LAUNCH_AGENT_PLIST << EOT
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.github.SoftU2FTool</string>
<string>com.github.SoftU2F</string>
<key>Program</key>
<string>/Applications/SoftU2FTool.app/Contents/MacOS/SoftU2FTool</string>
<string>/Applications/SoftU2F.app/Contents/MacOS/SoftU2F</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/SoftU2FTool.app/Contents/MacOS/SoftU2FTool</string>
<string>/Applications/SoftU2F.app/Contents/MacOS/SoftU2F</string>
</array>
<key>RunAtLoad</key>
<true/>

Просмотреть файл

@ -1,7 +1,7 @@
#!/bin/bash
KEXT="/Library/Extensions/softu2f.kext"
LAUNCH_AGENT_PLIST="$HOME/Library/LaunchAgents/com.github.SoftU2FTool.plist"
LAUNCH_AGENT_PLIST="$HOME/Library/LaunchAgents/com.github.SoftU2F.plist"
kextunload $KEXT || true
launchctl unload $LAUNCH_AGENT_PLIST || true

Просмотреть файл

@ -18,9 +18,9 @@ if ! xcodebuild -scheme SoftU2FDriver SYMROOT=$BUILD_DIR &> /dev/null; then
fi
echo "Built softu2f.kext"
echo "Building SoftU2FTool.app"
if ! xcodebuild -scheme SoftU2FTool -project SoftU2FTool.xcodeproj SYMROOT=$BUILD_DIR &> /dev/null; then
echo "Error building SoftU2FTool.app"
echo "Building SoftU2F.app"
if ! xcodebuild -scheme SoftU2F -project SoftU2F.xcodeproj SYMROOT=$BUILD_DIR &> /dev/null; then
echo "Error building SoftU2F.app"
exit 1
fi
echo "Built SoftU2FTool.app"
echo "Built SoftU2F.app"

Просмотреть файл

@ -8,7 +8,7 @@ BUILD_DIR=$REPO_DIR/build
sudo rm -rf $BUILD_DIR
mkdir $BUILD_DIR
xcodebuild -scheme SoftU2FTool install DSTROOT=$BUILD_DIR/bundles
xcodebuild -scheme SoftU2F install DSTROOT=$BUILD_DIR/bundles
cd $BUILD_DIR
@ -18,5 +18,5 @@ cd $BUILD_DIR
rm -rf ./bundles/System
rm -rf ./bundles/usr
pkgbuild --analyze --root ./bundles/ SoftU2FTool.plist
pkgbuild --sign "Developer ID Installer: GitHub" --identifier com.GitHub.SoftU2FTool --root ./bundles/ --scripts ../install-scripts --component-plist ./SoftU2FTool.plist ./SoftU2FTool.pkg
pkgbuild --analyze --root ./bundles/ SoftU2F.plist
pkgbuild --sign "Developer ID Installer: GitHub" --identifier com.GitHub.SoftU2F --root ./bundles/ --scripts ../install-scripts --component-plist ./SoftU2F.plist ./SoftU2F.pkg

Просмотреть файл

@ -7,12 +7,16 @@ BUILD_DIR=$REPO_DIR/build
KEXT_PATH=$BUILD_DIR/Debug/softu2f.kext
BUNDLE_ID=com.github.SoftU2FDriver
if kextstat -b $BUNDLE_ID | grep $BUNDLE_ID &> /dev/null; then
function unload_kext {
echo "Unloading softu2f.kext"
if ! sudo kextunload -b $BUNDLE_ID &> /dev/null; then
echo "Error unloading softu2f.kext. Kill any applications using it and try again."
exit 1
fi
}
if kextstat -b $BUNDLE_ID | grep $BUNDLE_ID &> /dev/null; then
unload_kext
fi
# Ensure kext is owned by root.
@ -24,5 +28,7 @@ if ! sudo kextutil $KEXT_PATH; then
exit 1
fi
trap unload_kext EXIT
# Run it
$BUILD_DIR/Debug/SoftU2FTool.app/Contents/MacOS/SoftU2FTool
$BUILD_DIR/Debug/SoftU2F.app/Contents/MacOS/SoftU2F