Skip to content
This repository has been archived by the owner on Dec 15, 2020. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
remove TouchID support without SEP
  • Loading branch information
btoews committed Aug 18, 2017
1 parent bcc7f1c commit 4085c78
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 88 deletions.
33 changes: 0 additions & 33 deletions SoftU2FTool/CLI.swift
Expand Up @@ -13,9 +13,6 @@ fileprivate let deleteAllFlag = "--delete-all"
fileprivate let showSEPFlag = "--show-sep"
fileprivate let enableSEPFlag = "--enable-sep"
fileprivate let disableSEPFlag = "--disable-sep"
fileprivate let showTouchidFlag = "--show-touchid"
fileprivate let enableTouchidFlag = "--enable-touchid"
fileprivate let disableTouchidFlag = "--disable-touchid"

class CLI {
private let args: [String]
Expand All @@ -31,15 +28,6 @@ class CLI {
} else if args.contains(deleteAllFlag) {
deleteAll()
return true
} else if args.contains(showTouchidFlag) {
showTouchid()
return true
} else if args.contains(enableTouchidFlag) {
enableTouchid()
return true
} else if args.contains(disableTouchidFlag) {
disableTouchid()
return true
} else if args.contains(showSEPFlag) {
showSEP()
return true
Expand Down Expand Up @@ -93,27 +81,6 @@ class CLI {
print("Deleted ", initialCount, " registrations")
}

private func showTouchid() {
if Settings.touchidDisabled {
print("TouchID is disabled")
} else {
print("TouchID is enabled")
}
}

private func enableTouchid() {
if Settings.enableTouchid() {
print("TouchID is now enabled")
} else {
print("Error enabling TouchID. Does your system support it?")
}
}

private func disableTouchid() {
Settings.disableTouchid()
print("TouchID is now disabled")
}

private func showSEP() {
if Settings.sepEnabled {
print("SEP storage is enabled for new keys")
Expand Down
24 changes: 3 additions & 21 deletions SoftU2FTool/Settings.swift
Expand Up @@ -9,40 +9,22 @@ import Foundation
import LocalAuthentication

class Settings {
private static let touchidDisabledKey = "touchidDisabled"
private static let sepEnabledKey = "sepEnabled"

static var touchidDisabled: Bool {
return !touchidAvailable || UserDefaults.standard.bool(forKey: touchidDisabledKey)
}

static var sepEnabled: Bool {
return touchidAvailable && UserDefaults.standard.bool(forKey: sepEnabledKey)
return sepAvailable && UserDefaults.standard.bool(forKey: sepEnabledKey)
}

private static var touchidAvailable: Bool {
private static var sepAvailable: Bool {
if #available(OSX 10.12.2, *) {
return LAContext().canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil)
} else {
return false
}
}

static func enableTouchid() -> Bool {
if touchidAvailable {
UserDefaults.standard.set(false, forKey: touchidDisabledKey)
return true
} else {
return false
}
}

static func disableTouchid() {
UserDefaults.standard.set(true, forKey: touchidDisabledKey)
}

static func enableSEP() -> Bool {
if touchidAvailable {
if sepAvailable {
UserDefaults.standard.set(true, forKey: sepEnabledKey)
return true
} else {
Expand Down
34 changes: 0 additions & 34 deletions SoftU2FTool/UserPresence.swift
Expand Up @@ -79,40 +79,6 @@ class UserPresence: NSObject {

// Send a notification popup to the user.
func test(_ type: Notification) {
if #available(OSX 10.12.2, *) {
if !Settings.touchidDisabled {
let ctx = LAContext()

if ctx.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil) {
ctx.localizedCancelTitle = "Reject"
ctx.localizedFallbackTitle = "Skip TouchID"

var prompt: String
switch type {
case let .Register(facet):
prompt = "register with " + (facet ?? "site")
case let .Authenticate(facet):
prompt = "authenticate with " + (facet ?? "site")
}

ctx.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: prompt) { (success, err) in
guard let lerr = err as? LAError else {
self.complete(success)
return
}

switch lerr.code {
case .userFallback, .touchIDNotAvailable, .touchIDNotEnrolled:
self.sendNotification(type)
default:
self.complete(false)
}
}
return
}
}
}

sendNotification(type)
}

Expand Down

0 comments on commit 4085c78

Please sign in to comment.