2019-06-04 18:29:50 -07:00
|
|
|
//
|
|
|
|
|
// Keychain.swift
|
|
|
|
|
// AltStore
|
|
|
|
|
//
|
|
|
|
|
// Created by Riley Testut on 6/4/19.
|
|
|
|
|
// Copyright © 2019 Riley Testut. All rights reserved.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
import Foundation
|
|
|
|
|
import KeychainAccess
|
|
|
|
|
|
|
|
|
|
import AltSign
|
|
|
|
|
|
|
|
|
|
class Keychain
|
|
|
|
|
{
|
|
|
|
|
static let shared = Keychain()
|
|
|
|
|
|
|
|
|
|
private let keychain = KeychainAccess.Keychain(service: "com.rileytestut.AltStore").accessibility(.afterFirstUnlock).synchronizable(true)
|
|
|
|
|
|
|
|
|
|
private init()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
extension Keychain
|
|
|
|
|
{
|
|
|
|
|
var appleIDEmailAddress: String? {
|
|
|
|
|
get {
|
|
|
|
|
let emailAddress = try? self.keychain.get("appleIDEmailAddress")
|
|
|
|
|
return emailAddress
|
|
|
|
|
}
|
|
|
|
|
set {
|
|
|
|
|
self.keychain["appleIDEmailAddress"] = newValue
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var appleIDPassword: String? {
|
|
|
|
|
get {
|
|
|
|
|
let password = try? self.keychain.get("appleIDPassword")
|
|
|
|
|
return password
|
|
|
|
|
}
|
|
|
|
|
set {
|
|
|
|
|
self.keychain["appleIDPassword"] = newValue
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var signingCertificatePrivateKey: Data? {
|
|
|
|
|
get {
|
|
|
|
|
let privateKey = try? self.keychain.getData("signingCertificatePrivateKey")
|
|
|
|
|
return privateKey
|
|
|
|
|
}
|
|
|
|
|
set {
|
|
|
|
|
self.keychain[data: "signingCertificatePrivateKey"] = newValue
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-06-05 18:05:21 -07:00
|
|
|
|
|
|
|
|
var signingCertificateIdentifier: String? {
|
|
|
|
|
get {
|
|
|
|
|
let identifier = try? self.keychain.get("signingCertificateIdentifier")
|
|
|
|
|
return identifier
|
|
|
|
|
}
|
|
|
|
|
set {
|
|
|
|
|
self.keychain["signingCertificateIdentifier"] = newValue
|
|
|
|
|
}
|
|
|
|
|
}
|
2019-06-04 18:29:50 -07:00
|
|
|
}
|