зеркало из https://github.com/github/SoftU2F.git
rename SoftU2FTool to SoftU2F
This commit is contained in:
Родитель
bb192edd77
Коммит
06061b6244
|
@ -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
|
||||
|
|
10
script/run
10
script/run
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче