зеркало из https://github.com/github/SoftU2F.git
rename SoftU2FTool to SoftU2F
This commit is contained in:
Родитель
bb192edd77
Коммит
06061b6244
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// AuthenticationRequest.swift
|
// AuthenticationRequest.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/14/16.
|
// Created by Benjamin P Toews on 9/14/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
@ -12,7 +12,7 @@ public struct AuthenticationRequest: RawConvertible {
|
||||||
public let header: CommandHeader
|
public let header: CommandHeader
|
||||||
public let body: Data
|
public let body: Data
|
||||||
public let trailer: CommandTrailer
|
public let trailer: CommandTrailer
|
||||||
|
|
||||||
public var control: Control {
|
public var control: Control {
|
||||||
return Control(rawValue: header.p1) ?? .Invalid
|
return Control(rawValue: header.p1) ?? .Invalid
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ public struct AuthenticationRequest: RawConvertible {
|
||||||
let upperBound = lowerBound + U2F_APPID_SIZE
|
let upperBound = lowerBound + U2F_APPID_SIZE
|
||||||
return body.subdata(in: lowerBound..<upperBound)
|
return body.subdata(in: lowerBound..<upperBound)
|
||||||
}
|
}
|
||||||
|
|
||||||
var keyHandleLength: Int {
|
var keyHandleLength: Int {
|
||||||
return Int(body[U2F_CHAL_SIZE + U2F_APPID_SIZE])
|
return Int(body[U2F_CHAL_SIZE + U2F_APPID_SIZE])
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ public struct AuthenticationRequest: RawConvertible {
|
||||||
writer.writeData(applicationParameter)
|
writer.writeData(applicationParameter)
|
||||||
writer.write(UInt8(keyHandle.count))
|
writer.write(UInt8(keyHandle.count))
|
||||||
writer.writeData(keyHandle)
|
writer.writeData(keyHandle)
|
||||||
|
|
||||||
self.body = writer.buffer
|
self.body = writer.buffer
|
||||||
self.header = CommandHeader(ins: .Authenticate, p1: control.rawValue, dataLength: body.count)
|
self.header = CommandHeader(ins: .Authenticate, p1: control.rawValue, dataLength: body.count)
|
||||||
self.trailer = CommandTrailer(noBody: false)
|
self.trailer = CommandTrailer(noBody: false)
|
||||||
|
@ -58,17 +58,17 @@ extension AuthenticationRequest: Command {
|
||||||
self.body = body
|
self.body = body
|
||||||
self.trailer = trailer
|
self.trailer = trailer
|
||||||
}
|
}
|
||||||
|
|
||||||
public func validateBody() throws {
|
public func validateBody() throws {
|
||||||
// Make sure it's at least long enough to have key-handle length.
|
// Make sure it's at least long enough to have key-handle length.
|
||||||
if body.count < U2F_CHAL_SIZE + U2F_APPID_SIZE + 1 {
|
if body.count < U2F_CHAL_SIZE + U2F_APPID_SIZE + 1 {
|
||||||
throw ResponseStatus.WrongLength
|
throw ResponseStatus.WrongLength
|
||||||
}
|
}
|
||||||
|
|
||||||
if body.count != U2F_CHAL_SIZE + U2F_APPID_SIZE + 1 + keyHandleLength {
|
if body.count != U2F_CHAL_SIZE + U2F_APPID_SIZE + 1 + keyHandleLength {
|
||||||
throw ResponseStatus.WrongLength
|
throw ResponseStatus.WrongLength
|
||||||
}
|
}
|
||||||
|
|
||||||
if control == .Invalid {
|
if control == .Invalid {
|
||||||
throw ResponseStatus.OtherError
|
throw ResponseStatus.OtherError
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// AuthenticationResponse.swift
|
// AuthenticationResponse.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/14/16.
|
// Created by Benjamin P Toews on 9/14/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// Command.swift
|
// Command.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/7/17.
|
// Created by Benjamin P Toews on 2/7/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// CommandHeader.swift
|
// CommandHeader.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/11/16.
|
// Created by Benjamin P Toews on 9/11/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// CommandTrailer.swift
|
// CommandTrailer.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/25/17.
|
// Created by Benjamin P Toews on 1/25/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// Constants.swift
|
// Constants.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/7/17.
|
// Created by Benjamin P Toews on 2/7/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// DataReader.swift
|
// DataReader.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/11/16.
|
// Created by Benjamin P Toews on 9/11/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// DataWriter.swift
|
// DataWriter.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/12/16.
|
// Created by Benjamin P Toews on 9/12/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// EndianProtocol.swift
|
// EndianProtocol.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/12/16.
|
// Created by Benjamin P Toews on 9/12/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// ErrorResponse.swift
|
// ErrorResponse.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/26/17.
|
// Created by Benjamin P Toews on 1/26/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// MessagePart.swift
|
// MessagePart.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/7/17.
|
// Created by Benjamin P Toews on 2/7/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// RawConvertible.swift
|
// RawConvertible.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/7/17.
|
// Created by Benjamin P Toews on 2/7/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// RegisterRequest.swift
|
// RegisterRequest.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/10/16.
|
// Created by Benjamin P Toews on 9/10/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// RegisterResponse.swift
|
// RegisterResponse.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/11/16.
|
// Created by Benjamin P Toews on 9/11/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// Response.swift
|
// Response.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/7/17.
|
// Created by Benjamin P Toews on 2/7/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// VersionRequest.swift
|
// VersionRequest.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/25/17.
|
// Created by Benjamin P Toews on 1/25/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// VersionResponse.swift
|
// VersionResponse.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/25/17.
|
// Created by Benjamin P Toews on 1/25/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// AuthenticationRequestTests.swift
|
// AuthenticationRequestTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/6/17.
|
// Created by Benjamin P Toews on 2/6/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// CommandHeaderTests.swift
|
// CommandHeaderTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/11/16.
|
// Created by Benjamin P Toews on 9/11/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// CommandTrailerTests.swift
|
// CommandTrailerTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/25/17.
|
// Created by Benjamin P Toews on 1/25/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// DataReaderTests.swift
|
// DataReaderTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/11/16.
|
// Created by Benjamin P Toews on 9/11/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// DataWriterTests.swift
|
// DataWriterTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/12/16.
|
// Created by Benjamin P Toews on 9/12/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// RegisterRequestTests.swift
|
// RegisterRequestTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/6/17.
|
// Created by Benjamin P Toews on 2/6/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// ResponseTests.swift
|
// ResponseTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/12/16.
|
// Created by Benjamin P Toews on 9/12/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// Util.swift
|
// Util.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/10/16.
|
// Created by Benjamin P Toews on 9/10/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// VersionRequestTests.swift
|
// VersionRequestTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/6/17.
|
// Created by Benjamin P Toews on 2/6/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// 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
|
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
|
Delete the launch agent plist
|
||||||
|
|
||||||
```
|
```
|
||||||
$ rm ~/Library/LaunchAgents/com.github.SoftU2FTool.plist
|
$ rm ~/Library/LaunchAgents/com.github.SoftU2F.plist
|
||||||
```
|
```
|
||||||
|
|
||||||
Delete the `.app`
|
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)
|
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
|
# Install Commaned Line Tools
|
||||||
xcode-select --install
|
xcode-select --install
|
||||||
|
|
||||||
# Build softu2f.kext and SoftU2FTool.app.
|
# Build softu2f.kext and SoftU2F.app.
|
||||||
script/build
|
script/build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// private.h
|
// private.h
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/7/17.
|
// Created by Benjamin P Toews on 2/7/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// 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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
51FE30EE1E40F3DB00BAE824 /* U2FRegistrationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = U2FRegistrationTests.swift; sourceTree = "<group>"; };
|
||||||
|
@ -331,8 +331,8 @@
|
||||||
children = (
|
children = (
|
||||||
F725EBC51F1FAD3C000A003C /* SoftU2FDriver */,
|
F725EBC51F1FAD3C000A003C /* SoftU2FDriver */,
|
||||||
F725EBE71F1FB0BD000A003C /* SoftU2FDriverLib */,
|
F725EBE71F1FB0BD000A003C /* SoftU2FDriverLib */,
|
||||||
51F0900E1E37E8C600F03AD3 /* SoftU2FTool */,
|
51F0900E1E37E8C600F03AD3 /* SoftU2F */,
|
||||||
51F090201E37E8C600F03AD3 /* SoftU2FToolTests */,
|
51F090201E37E8C600F03AD3 /* SoftU2FTests */,
|
||||||
F738F4F21E4A2CCB005680A2 /* APDU */,
|
F738F4F21E4A2CCB005680A2 /* APDU */,
|
||||||
F738F5301E4A2E8A005680A2 /* APDUTests */,
|
F738F5301E4A2E8A005680A2 /* APDUTests */,
|
||||||
F738F55B1E4A31DE005680A2 /* SelfSignedCertificate */,
|
F738F55B1E4A31DE005680A2 /* SelfSignedCertificate */,
|
||||||
|
@ -345,8 +345,8 @@
|
||||||
51F0900D1E37E8C600F03AD3 /* Products */ = {
|
51F0900D1E37E8C600F03AD3 /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
51F0900C1E37E8C600F03AD3 /* SoftU2FTool.app */,
|
51F0900C1E37E8C600F03AD3 /* SoftU2F.app */,
|
||||||
51F0901D1E37E8C600F03AD3 /* SoftU2FToolTests.xctest */,
|
51F0901D1E37E8C600F03AD3 /* SoftU2FTests.xctest */,
|
||||||
F738F4F11E4A2CCB005680A2 /* APDU.framework */,
|
F738F4F11E4A2CCB005680A2 /* APDU.framework */,
|
||||||
F738F52F1E4A2E8A005680A2 /* APDUTests.xctest */,
|
F738F52F1E4A2E8A005680A2 /* APDUTests.xctest */,
|
||||||
F738F55A1E4A31DE005680A2 /* SelfSignedCertificate.framework */,
|
F738F55A1E4A31DE005680A2 /* SelfSignedCertificate.framework */,
|
||||||
|
@ -357,7 +357,7 @@
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
51F0900E1E37E8C600F03AD3 /* SoftU2FTool */ = {
|
51F0900E1E37E8C600F03AD3 /* SoftU2F */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
F7ABD9BD1E80603D00768FEC /* Assets.xcassets */,
|
F7ABD9BD1E80603D00768FEC /* Assets.xcassets */,
|
||||||
|
@ -374,13 +374,14 @@
|
||||||
51213EC51E3916EB005454E0 /* U2FHID.swift */,
|
51213EC51E3916EB005454E0 /* U2FHID.swift */,
|
||||||
51B289E41E39903F00AD90CC /* U2FAuthenticator.swift */,
|
51B289E41E39903F00AD90CC /* U2FAuthenticator.swift */,
|
||||||
51FE30EC1E403DA000BAE824 /* U2FRegistration.swift */,
|
51FE30EC1E403DA000BAE824 /* U2FRegistration.swift */,
|
||||||
518537BF1E380E4600600911 /* SoftU2FTool-Bridging-Header.h */,
|
518537BF1E380E4600600911 /* SoftU2F-Bridging-Header.h */,
|
||||||
51F090181E37E8C600F03AD3 /* Info.plist */,
|
51F090181E37E8C600F03AD3 /* Info.plist */,
|
||||||
);
|
);
|
||||||
|
name = SoftU2F;
|
||||||
path = SoftU2FTool;
|
path = SoftU2FTool;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
51F090201E37E8C600F03AD3 /* SoftU2FToolTests */ = {
|
51F090201E37E8C600F03AD3 /* SoftU2FTests */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
51FE30EE1E40F3DB00BAE824 /* U2FRegistrationTests.swift */,
|
51FE30EE1E40F3DB00BAE824 /* U2FRegistrationTests.swift */,
|
||||||
|
@ -391,9 +392,10 @@
|
||||||
51FFC71E1E3FEAA4006275E2 /* SoftU2FTestCase.swift */,
|
51FFC71E1E3FEAA4006275E2 /* SoftU2FTestCase.swift */,
|
||||||
51EF60B11E427EE200D429F2 /* UtilsTests.swift */,
|
51EF60B11E427EE200D429F2 /* UtilsTests.swift */,
|
||||||
51213EC11E3834F8005454E0 /* TestUtil.swift */,
|
51213EC11E3834F8005454E0 /* TestUtil.swift */,
|
||||||
51E214531E3822B8005B2864 /* SoftU2FToolTests-Bridging-Header.h */,
|
51E214531E3822B8005B2864 /* SoftU2FTests-Bridging-Header.h */,
|
||||||
51F090231E37E8C600F03AD3 /* Info.plist */,
|
51F090231E37E8C600F03AD3 /* Info.plist */,
|
||||||
);
|
);
|
||||||
|
name = SoftU2FTests;
|
||||||
path = SoftU2FToolTests;
|
path = SoftU2FToolTests;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
@ -546,9 +548,9 @@
|
||||||
/* End PBXHeadersBuildPhase section */
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
51F0900B1E37E8C600F03AD3 /* SoftU2FTool */ = {
|
51F0900B1E37E8C600F03AD3 /* SoftU2F */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTool" */;
|
buildConfigurationList = 51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2F" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
51F090081E37E8C600F03AD3 /* Sources */,
|
51F090081E37E8C600F03AD3 /* Sources */,
|
||||||
51F090091E37E8C600F03AD3 /* Frameworks */,
|
51F090091E37E8C600F03AD3 /* Frameworks */,
|
||||||
|
@ -562,14 +564,14 @@
|
||||||
F738F4F71E4A2CCC005680A2 /* PBXTargetDependency */,
|
F738F4F71E4A2CCC005680A2 /* PBXTargetDependency */,
|
||||||
F738F5601E4A31DE005680A2 /* PBXTargetDependency */,
|
F738F5601E4A31DE005680A2 /* PBXTargetDependency */,
|
||||||
);
|
);
|
||||||
name = SoftU2FTool;
|
name = SoftU2F;
|
||||||
productName = SoftU2FTool;
|
productName = SoftU2FTool;
|
||||||
productReference = 51F0900C1E37E8C600F03AD3 /* SoftU2FTool.app */;
|
productReference = 51F0900C1E37E8C600F03AD3 /* SoftU2F.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
};
|
};
|
||||||
51F0901C1E37E8C600F03AD3 /* SoftU2FToolTests */ = {
|
51F0901C1E37E8C600F03AD3 /* SoftU2FTests */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FToolTests" */;
|
buildConfigurationList = 51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTests" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
51F090191E37E8C600F03AD3 /* Sources */,
|
51F090191E37E8C600F03AD3 /* Sources */,
|
||||||
51F0901A1E37E8C600F03AD3 /* Frameworks */,
|
51F0901A1E37E8C600F03AD3 /* Frameworks */,
|
||||||
|
@ -580,9 +582,9 @@
|
||||||
dependencies = (
|
dependencies = (
|
||||||
51F0901F1E37E8C600F03AD3 /* PBXTargetDependency */,
|
51F0901F1E37E8C600F03AD3 /* PBXTargetDependency */,
|
||||||
);
|
);
|
||||||
name = SoftU2FToolTests;
|
name = SoftU2FTests;
|
||||||
productName = SoftU2FToolTests;
|
productName = SoftU2FToolTests;
|
||||||
productReference = 51F0901D1E37E8C600F03AD3 /* SoftU2FToolTests.xctest */;
|
productReference = 51F0901D1E37E8C600F03AD3 /* SoftU2FTests.xctest */;
|
||||||
productType = "com.apple.product-type.bundle.unit-test";
|
productType = "com.apple.product-type.bundle.unit-test";
|
||||||
};
|
};
|
||||||
F725EBC31F1FAD3C000A003C /* SoftU2FDriver */ = {
|
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";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
|
@ -767,8 +769,8 @@
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
targets = (
|
targets = (
|
||||||
51F0900B1E37E8C600F03AD3 /* SoftU2FTool */,
|
51F0900B1E37E8C600F03AD3 /* SoftU2F */,
|
||||||
51F0901C1E37E8C600F03AD3 /* SoftU2FToolTests */,
|
51F0901C1E37E8C600F03AD3 /* SoftU2FTests */,
|
||||||
F738F4F01E4A2CCB005680A2 /* APDU */,
|
F738F4F01E4A2CCB005680A2 /* APDU */,
|
||||||
F738F52E1E4A2E8A005680A2 /* APDUTests */,
|
F738F52E1E4A2E8A005680A2 /* APDUTests */,
|
||||||
F738F5591E4A31DE005680A2 /* SelfSignedCertificate */,
|
F738F5591E4A31DE005680A2 /* SelfSignedCertificate */,
|
||||||
|
@ -964,7 +966,7 @@
|
||||||
/* Begin PBXTargetDependency section */
|
/* Begin PBXTargetDependency section */
|
||||||
51F0901F1E37E8C600F03AD3 /* PBXTargetDependency */ = {
|
51F0901F1E37E8C600F03AD3 /* PBXTargetDependency */ = {
|
||||||
isa = PBXTargetDependency;
|
isa = PBXTargetDependency;
|
||||||
target = 51F0900B1E37E8C600F03AD3 /* SoftU2FTool */;
|
target = 51F0900B1E37E8C600F03AD3 /* SoftU2F */;
|
||||||
targetProxy = 51F0901E1E37E8C600F03AD3 /* PBXContainerItemProxy */;
|
targetProxy = 51F0901E1E37E8C600F03AD3 /* PBXContainerItemProxy */;
|
||||||
};
|
};
|
||||||
F725EBF41F1FB15E000A003C /* PBXTargetDependency */ = {
|
F725EBF41F1FB15E000A003C /* PBXTargetDependency */ = {
|
||||||
|
@ -1108,7 +1110,7 @@
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "0d639ce7-4261-41e5-8e5d-8a39cdfc8c41";
|
PROVISIONING_PROFILE = "0d639ce7-4261-41e5-8e5d-8a39cdfc8c41";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = SoftU2FTool;
|
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_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 3.0;
|
SWIFT_VERSION = 3.0;
|
||||||
};
|
};
|
||||||
|
@ -1132,7 +1134,7 @@
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE = "0d639ce7-4261-41e5-8e5d-8a39cdfc8c41";
|
PROVISIONING_PROFILE = "0d639ce7-4261-41e5-8e5d-8a39cdfc8c41";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = SoftU2FTool;
|
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;
|
SWIFT_VERSION = 3.0;
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
@ -1153,10 +1155,10 @@
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.github.SoftU2FToolTests;
|
PRODUCT_BUNDLE_IDENTIFIER = com.github.SoftU2FToolTests;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
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_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 3.0;
|
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;
|
name = Debug;
|
||||||
};
|
};
|
||||||
|
@ -1176,9 +1178,9 @@
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.github.SoftU2FToolTests;
|
PRODUCT_BUNDLE_IDENTIFIER = com.github.SoftU2FToolTests;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
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;
|
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;
|
name = Release;
|
||||||
};
|
};
|
||||||
|
@ -1424,7 +1426,7 @@
|
||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
51F090071E37E8C500F03AD3 /* Build configuration list for PBXProject "SoftU2FTool" */ = {
|
51F090071E37E8C500F03AD3 /* Build configuration list for PBXProject "SoftU2F" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
51F090241E37E8C600F03AD3 /* Debug */,
|
51F090241E37E8C600F03AD3 /* Debug */,
|
||||||
|
@ -1433,7 +1435,7 @@
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTool" */ = {
|
51F090261E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2F" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
51F090271E37E8C600F03AD3 /* Debug */,
|
51F090271E37E8C600F03AD3 /* Debug */,
|
||||||
|
@ -1442,7 +1444,7 @@
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FToolTests" */ = {
|
51F090291E37E8C600F03AD3 /* Build configuration list for PBXNativeTarget "SoftU2FTests" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
51F0902A1E37E8C600F03AD3 /* Debug */,
|
51F0902A1E37E8C600F03AD3 /* Debug */,
|
|
@ -2,6 +2,6 @@
|
||||||
<Workspace
|
<Workspace
|
||||||
version = "1.0">
|
version = "1.0">
|
||||||
<FileRef
|
<FileRef
|
||||||
location = "self:SoftU2FTool.xcodeproj">
|
location = "self:/Users/mastahyeti/Projects/SoftU2FTool/SoftU2F.xcodeproj">
|
||||||
</FileRef>
|
</FileRef>
|
||||||
</Workspace>
|
</Workspace>
|
|
@ -17,7 +17,7 @@
|
||||||
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
||||||
BuildableName = "APDU.framework"
|
BuildableName = "APDU.framework"
|
||||||
BlueprintName = "APDU"
|
BlueprintName = "APDU"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
BlueprintIdentifier = "F738F52E1E4A2E8A005680A2"
|
BlueprintIdentifier = "F738F52E1E4A2E8A005680A2"
|
||||||
BuildableName = "APDUTests.xctest"
|
BuildableName = "APDUTests.xctest"
|
||||||
BlueprintName = "APDUTests"
|
BlueprintName = "APDUTests"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</TestableReference>
|
</TestableReference>
|
||||||
</Testables>
|
</Testables>
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
||||||
BuildableName = "APDU.framework"
|
BuildableName = "APDU.framework"
|
||||||
BlueprintName = "APDU"
|
BlueprintName = "APDU"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
||||||
BuildableName = "APDU.framework"
|
BuildableName = "APDU.framework"
|
||||||
BlueprintName = "APDU"
|
BlueprintName = "APDU"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
BlueprintIdentifier = "F738F4F01E4A2CCB005680A2"
|
||||||
BuildableName = "APDU.framework"
|
BuildableName = "APDU.framework"
|
||||||
BlueprintName = "APDU"
|
BlueprintName = "APDU"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
</ProfileAction>
|
</ProfileAction>
|
|
@ -17,7 +17,7 @@
|
||||||
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
||||||
BuildableName = "SelfSignedCertificate.framework"
|
BuildableName = "SelfSignedCertificate.framework"
|
||||||
BlueprintName = "SelfSignedCertificate"
|
BlueprintName = "SelfSignedCertificate"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
BlueprintIdentifier = "F738F5701E4A3328005680A2"
|
BlueprintIdentifier = "F738F5701E4A3328005680A2"
|
||||||
BuildableName = "SelfSignedCertificateTests.xctest"
|
BuildableName = "SelfSignedCertificateTests.xctest"
|
||||||
BlueprintName = "SelfSignedCertificateTests"
|
BlueprintName = "SelfSignedCertificateTests"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</TestableReference>
|
</TestableReference>
|
||||||
</Testables>
|
</Testables>
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
||||||
BuildableName = "SelfSignedCertificate.framework"
|
BuildableName = "SelfSignedCertificate.framework"
|
||||||
BlueprintName = "SelfSignedCertificate"
|
BlueprintName = "SelfSignedCertificate"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
||||||
BuildableName = "SelfSignedCertificate.framework"
|
BuildableName = "SelfSignedCertificate.framework"
|
||||||
BlueprintName = "SelfSignedCertificate"
|
BlueprintName = "SelfSignedCertificate"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
BlueprintIdentifier = "F738F5591E4A31DE005680A2"
|
||||||
BuildableName = "SelfSignedCertificate.framework"
|
BuildableName = "SelfSignedCertificate.framework"
|
||||||
BlueprintName = "SelfSignedCertificate"
|
BlueprintName = "SelfSignedCertificate"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
</ProfileAction>
|
</ProfileAction>
|
|
@ -15,9 +15,9 @@
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
||||||
BuildableName = "SoftU2FTool.app"
|
BuildableName = "SoftU2F.app"
|
||||||
BlueprintName = "SoftU2FTool"
|
BlueprintName = "SoftU2F"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
<BuildActionEntry
|
<BuildActionEntry
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
||||||
BuildableName = "softu2f.kext"
|
BuildableName = "softu2f.kext"
|
||||||
BlueprintName = "SoftU2FDriver"
|
BlueprintName = "SoftU2FDriver"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
|
@ -47,9 +47,9 @@
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "51F0901C1E37E8C600F03AD3"
|
BlueprintIdentifier = "51F0901C1E37E8C600F03AD3"
|
||||||
BuildableName = "SoftU2FToolTests.xctest"
|
BuildableName = "SoftU2FTests.xctest"
|
||||||
BlueprintName = "SoftU2FToolTests"
|
BlueprintName = "SoftU2FTests"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
<SkippedTests>
|
<SkippedTests>
|
||||||
<Test
|
<Test
|
||||||
|
@ -62,9 +62,9 @@
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
||||||
BuildableName = "SoftU2FTool.app"
|
BuildableName = "SoftU2F.app"
|
||||||
BlueprintName = "SoftU2FTool"
|
BlueprintName = "SoftU2F"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -85,9 +85,9 @@
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
||||||
BuildableName = "SoftU2FTool.app"
|
BuildableName = "SoftU2F.app"
|
||||||
BlueprintName = "SoftU2FTool"
|
BlueprintName = "SoftU2F"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -104,9 +104,9 @@
|
||||||
<BuildableReference
|
<BuildableReference
|
||||||
BuildableIdentifier = "primary"
|
BuildableIdentifier = "primary"
|
||||||
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
BlueprintIdentifier = "51F0900B1E37E8C600F03AD3"
|
||||||
BuildableName = "SoftU2FTool.app"
|
BuildableName = "SoftU2F.app"
|
||||||
BlueprintName = "SoftU2FTool"
|
BlueprintName = "SoftU2F"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildableProductRunnable>
|
</BuildableProductRunnable>
|
||||||
</ProfileAction>
|
</ProfileAction>
|
|
@ -17,7 +17,7 @@
|
||||||
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
||||||
BuildableName = "softu2f.kext"
|
BuildableName = "softu2f.kext"
|
||||||
BlueprintName = "SoftU2FDriver"
|
BlueprintName = "SoftU2FDriver"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
||||||
BuildableName = "softu2f.kext"
|
BuildableName = "softu2f.kext"
|
||||||
BlueprintName = "SoftU2FDriver"
|
BlueprintName = "SoftU2FDriver"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
BlueprintIdentifier = "F725EBC31F1FAD3C000A003C"
|
||||||
BuildableName = "softu2f.kext"
|
BuildableName = "softu2f.kext"
|
||||||
BlueprintName = "SoftU2FDriver"
|
BlueprintName = "SoftU2FDriver"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
</ProfileAction>
|
</ProfileAction>
|
|
@ -17,7 +17,7 @@
|
||||||
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
|
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
|
||||||
BuildableName = "libsoftu2f.a"
|
BuildableName = "libsoftu2f.a"
|
||||||
BlueprintName = "SoftU2FDriverLib"
|
BlueprintName = "SoftU2FDriverLib"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</BuildActionEntry>
|
</BuildActionEntry>
|
||||||
</BuildActionEntries>
|
</BuildActionEntries>
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
|
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
|
||||||
BuildableName = "libsoftu2f.a"
|
BuildableName = "libsoftu2f.a"
|
||||||
BlueprintName = "SoftU2FDriverLib"
|
BlueprintName = "SoftU2FDriverLib"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
<AdditionalOptions>
|
<AdditionalOptions>
|
||||||
|
@ -66,7 +66,7 @@
|
||||||
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
|
BlueprintIdentifier = "F725EBE11F1FB09D000A003C"
|
||||||
BuildableName = "libsoftu2f.a"
|
BuildableName = "libsoftu2f.a"
|
||||||
BlueprintName = "SoftU2FDriverLib"
|
BlueprintName = "SoftU2FDriverLib"
|
||||||
ReferencedContainer = "container:SoftU2FTool.xcodeproj">
|
ReferencedContainer = "container:SoftU2F.xcodeproj">
|
||||||
</BuildableReference>
|
</BuildableReference>
|
||||||
</MacroExpansion>
|
</MacroExpansion>
|
||||||
</ProfileAction>
|
</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
|
// AppDelegate.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/24/17.
|
// Created by Benjamin P Toews on 1/24/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// KeyPair.swift
|
// KeyPair.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/2/17.
|
// Created by Benjamin P Toews on 2/2/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// Keychain.swift
|
// Keychain.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/2/17.
|
// Created by Benjamin P Toews on 2/2/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// KnownFacets.swift
|
// KnownFacets.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/27/17.
|
// Created by Benjamin P Toews on 1/27/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// SHA256.swift
|
// SHA256.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/10/16.
|
// Created by Benjamin P Toews on 9/10/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<dict>
|
<dict>
|
||||||
<key>keychain-access-groups</key>
|
<key>keychain-access-groups</key>
|
||||||
<array>
|
<array>
|
||||||
<string>$(AppIdentifierPrefix)com.github.SoftU2FTool</string>
|
<string>$(AppIdentifierPrefix)com.github.SoftU2F</string>
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// U2FAuthenticator.swift
|
// U2FAuthenticator.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/25/17.
|
// Created by Benjamin P Toews on 1/25/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// HIDU2F.swift
|
// HIDU2F.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/25/17.
|
// Created by Benjamin P Toews on 1/25/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// U2FRegistration.swift
|
// U2FRegistration.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/30/17.
|
// Created by Benjamin P Toews on 1/30/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// UserPresence.swift
|
// UserPresence.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/27/17.
|
// Created by Benjamin P Toews on 1/27/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// Utils.swift
|
// Utils.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/31/17.
|
// Created by Benjamin P Toews on 1/31/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// WebSafeBase64.swift
|
// WebSafeBase64.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/13/16.
|
// Created by Benjamin P Toews on 9/13/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// IntegrationTests.swift
|
// IntegrationTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/27/17.
|
// Created by Benjamin P Toews on 1/27/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
import XCTest
|
import XCTest
|
||||||
import APDU
|
import APDU
|
||||||
|
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
class IntegrationTests: SoftU2FTestCase {
|
class IntegrationTests: SoftU2FTestCase {
|
||||||
override func tearDown() {
|
override func tearDown() {
|
||||||
let _ = U2FRegistration.deleteAll()
|
let _ = U2FRegistration.deleteAll()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// SHA256Tests.swift
|
// SHA256Tests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/10/16.
|
// Created by Benjamin P Toews on 9/10/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
|
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
class SHA256Tests: XCTestCase {
|
class SHA256Tests: XCTestCase {
|
||||||
func testDigestFormats() throws {
|
func testDigestFormats() throws {
|
||||||
let hash = SHA256(data: "hello world".data(using: .utf8)!)
|
let hash = SHA256(data: "hello world".data(using: .utf8)!)
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
//
|
//
|
||||||
// SoftU2FTestCase.swift
|
// SoftU2FTestCase.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/30/17.
|
// Created by Benjamin P Toews on 1/30/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
|
|
||||||
class SoftU2FTestCase: XCTestCase {
|
class SoftU2FTestCase: XCTestCase {
|
||||||
static var nameSpaceWas = U2FRegistration.namespace
|
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
|
// Util.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/10/16.
|
// Created by Benjamin P Toews on 9/10/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
|
|
||||||
func tupleDigestEqual(_ a: SHA256.TupleDigest, _ b: SHA256.TupleDigest) -> Bool {
|
func tupleDigestEqual(_ a: SHA256.TupleDigest, _ b: SHA256.TupleDigest) -> Bool {
|
||||||
return a.0 == b.0 &&
|
return a.0 == b.0 &&
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// U2FHIDTests.swift
|
// U2FHIDTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/25/17.
|
// Created by Benjamin P Toews on 1/25/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
|
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
class U2FHIDTests: XCTestCase {
|
class U2FHIDTests: XCTestCase {
|
||||||
func testInit() {
|
func testInit() {
|
||||||
XCTAssertNotNil(U2FHID.shared)
|
XCTAssertNotNil(U2FHID.shared)
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
//
|
//
|
||||||
// U2FRegistrationTests.swift
|
// U2FRegistrationTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 1/31/17.
|
// Created by Benjamin P Toews on 1/31/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
|
|
||||||
class U2FRegistrationTests: SoftU2FTestCase {
|
class U2FRegistrationTests: SoftU2FTestCase {
|
||||||
var makeKey: U2FRegistration? { return U2FRegistration(applicationParameter: randData(length: 32)) }
|
var makeKey: U2FRegistration? { return U2FRegistration(applicationParameter: randData(length: 32)) }
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
//
|
//
|
||||||
// UtilsTests.swift
|
// UtilsTests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 2/1/17.
|
// Created by Benjamin P Toews on 2/1/17.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
//
|
//
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
|
|
||||||
class UtilsTests: XCTestCase {
|
class UtilsTests: XCTestCase {
|
||||||
func testPadUnpadKeyHandle() {
|
func testPadUnpadKeyHandle() {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
//
|
//
|
||||||
// WebSafeBase64Tests.swift
|
// WebSafeBase64Tests.swift
|
||||||
// SoftU2FTool
|
// SoftU2F
|
||||||
//
|
//
|
||||||
// Created by Benjamin P Toews on 9/13/16.
|
// Created by Benjamin P Toews on 9/13/16.
|
||||||
// Copyright © 2017 GitHub. All rights reserved.
|
// Copyright © 2017 GitHub. All rights reserved.
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
|
|
||||||
@testable import SoftU2FTool
|
@testable import SoftU2F
|
||||||
class WebSafeBase64Tests: XCTestCase {
|
class WebSafeBase64Tests: XCTestCase {
|
||||||
func testRoundTrip() {
|
func testRoundTrip() {
|
||||||
for length in 0...10 {
|
for length in 0...10 {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
KEXT="/Library/Extensions/softu2f.kext"
|
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
|
# Make sure the kext is loaded
|
||||||
kextutil $KEXT
|
kextutil $KEXT
|
||||||
|
@ -14,12 +14,12 @@ cat > $LAUNCH_AGENT_PLIST << EOT
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>Label</key>
|
<key>Label</key>
|
||||||
<string>com.github.SoftU2FTool</string>
|
<string>com.github.SoftU2F</string>
|
||||||
<key>Program</key>
|
<key>Program</key>
|
||||||
<string>/Applications/SoftU2FTool.app/Contents/MacOS/SoftU2FTool</string>
|
<string>/Applications/SoftU2F.app/Contents/MacOS/SoftU2F</string>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/Applications/SoftU2FTool.app/Contents/MacOS/SoftU2FTool</string>
|
<string>/Applications/SoftU2F.app/Contents/MacOS/SoftU2F</string>
|
||||||
</array>
|
</array>
|
||||||
<key>RunAtLoad</key>
|
<key>RunAtLoad</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
KEXT="/Library/Extensions/softu2f.kext"
|
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
|
kextunload $KEXT || true
|
||||||
launchctl unload $LAUNCH_AGENT_PLIST || true
|
launchctl unload $LAUNCH_AGENT_PLIST || true
|
||||||
|
|
|
@ -18,9 +18,9 @@ if ! xcodebuild -scheme SoftU2FDriver SYMROOT=$BUILD_DIR &> /dev/null; then
|
||||||
fi
|
fi
|
||||||
echo "Built softu2f.kext"
|
echo "Built softu2f.kext"
|
||||||
|
|
||||||
echo "Building SoftU2FTool.app"
|
echo "Building SoftU2F.app"
|
||||||
if ! xcodebuild -scheme SoftU2FTool -project SoftU2FTool.xcodeproj SYMROOT=$BUILD_DIR &> /dev/null; then
|
if ! xcodebuild -scheme SoftU2F -project SoftU2F.xcodeproj SYMROOT=$BUILD_DIR &> /dev/null; then
|
||||||
echo "Error building SoftU2FTool.app"
|
echo "Error building SoftU2F.app"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Built SoftU2FTool.app"
|
echo "Built SoftU2F.app"
|
||||||
|
|
|
@ -8,7 +8,7 @@ BUILD_DIR=$REPO_DIR/build
|
||||||
sudo rm -rf $BUILD_DIR
|
sudo rm -rf $BUILD_DIR
|
||||||
mkdir $BUILD_DIR
|
mkdir $BUILD_DIR
|
||||||
|
|
||||||
xcodebuild -scheme SoftU2FTool install DSTROOT=$BUILD_DIR/bundles
|
xcodebuild -scheme SoftU2F install DSTROOT=$BUILD_DIR/bundles
|
||||||
|
|
||||||
cd $BUILD_DIR
|
cd $BUILD_DIR
|
||||||
|
|
||||||
|
@ -18,5 +18,5 @@ cd $BUILD_DIR
|
||||||
rm -rf ./bundles/System
|
rm -rf ./bundles/System
|
||||||
rm -rf ./bundles/usr
|
rm -rf ./bundles/usr
|
||||||
|
|
||||||
pkgbuild --analyze --root ./bundles/ SoftU2FTool.plist
|
pkgbuild --analyze --root ./bundles/ SoftU2F.plist
|
||||||
pkgbuild --sign "Developer ID Installer: GitHub" --identifier com.GitHub.SoftU2FTool --root ./bundles/ --scripts ../install-scripts --component-plist ./SoftU2FTool.plist ./SoftU2FTool.pkg
|
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
|
KEXT_PATH=$BUILD_DIR/Debug/softu2f.kext
|
||||||
BUNDLE_ID=com.github.SoftU2FDriver
|
BUNDLE_ID=com.github.SoftU2FDriver
|
||||||
|
|
||||||
if kextstat -b $BUNDLE_ID | grep $BUNDLE_ID &> /dev/null; then
|
function unload_kext {
|
||||||
echo "Unloading softu2f.kext"
|
echo "Unloading softu2f.kext"
|
||||||
if ! sudo kextunload -b $BUNDLE_ID &> /dev/null; then
|
if ! sudo kextunload -b $BUNDLE_ID &> /dev/null; then
|
||||||
echo "Error unloading softu2f.kext. Kill any applications using it and try again."
|
echo "Error unloading softu2f.kext. Kill any applications using it and try again."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if kextstat -b $BUNDLE_ID | grep $BUNDLE_ID &> /dev/null; then
|
||||||
|
unload_kext
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ensure kext is owned by root.
|
# Ensure kext is owned by root.
|
||||||
|
@ -24,5 +28,7 @@ if ! sudo kextutil $KEXT_PATH; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
trap unload_kext EXIT
|
||||||
|
|
||||||
# Run it
|
# Run it
|
||||||
$BUILD_DIR/Debug/SoftU2FTool.app/Contents/MacOS/SoftU2FTool
|
$BUILD_DIR/Debug/SoftU2F.app/Contents/MacOS/SoftU2F
|
||||||
|
|
Загрузка…
Ссылка в новой задаче