Security Changes for Swift
Security
Removed SecPadding.None
Removed kSecTrustResultConfirm
Removed kSecTrustResultDeny
Removed kSecTrustResultFatalTrustFailure
Removed kSecTrustResultInvalid
Removed kSecTrustResultOtherError
Removed kSecTrustResultProceed
Removed kSecTrustResultUnspecified
Removed SecTrustResultType
Added SecKeyAlgorithm [struct]
Added SecKeyOperationType.sign
Added SecTrustResultType.deny
Added errSecVerifyFailed
Added kSecAttrAccessGroupToken
Added kSecPolicyTeamIdentifier
Modified SecAccessControlCreateFlags [struct]
| Declaration | Protocols | |
|---|---|---|
| From | struct SecAccessControlCreateFlags : OptionSetType {
init(rawValue rawValue: CFIndex)
static var UserPresence: SecAccessControlCreateFlags { get }
static var TouchIDAny: SecAccessControlCreateFlags { get }
static var TouchIDCurrentSet: SecAccessControlCreateFlags { get }
static var DevicePasscode: SecAccessControlCreateFlags { get }
static var Or: SecAccessControlCreateFlags { get }
static var And: SecAccessControlCreateFlags { get }
static var PrivateKeyUsage: SecAccessControlCreateFlags { get }
static var ApplicationPassword: SecAccessControlCreateFlags { get }
} | OptionSetType |
| To | struct SecAccessControlCreateFlags : OptionSet {
init(rawValue rawValue: CFOptionFlags)
static var userPresence: SecAccessControlCreateFlags { get }
static var touchIDAny: SecAccessControlCreateFlags { get }
static var touchIDCurrentSet: SecAccessControlCreateFlags { get }
static var devicePasscode: SecAccessControlCreateFlags { get }
static var or: SecAccessControlCreateFlags { get }
static var and: SecAccessControlCreateFlags { get }
static var privateKeyUsage: SecAccessControlCreateFlags { get }
static var applicationPassword: SecAccessControlCreateFlags { get }
func intersect(_ other: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags
func exclusiveOr(_ other: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags
mutating func unionInPlace(_ other: SecAccessControlCreateFlags)
mutating func intersectInPlace(_ other: SecAccessControlCreateFlags)
mutating func exclusiveOrInPlace(_ other: SecAccessControlCreateFlags)
func isSubsetOf(_ other: SecAccessControlCreateFlags) -> Bool
func isDisjointWith(_ other: SecAccessControlCreateFlags) -> Bool
func isSupersetOf(_ other: SecAccessControlCreateFlags) -> Bool
mutating func subtractInPlace(_ other: SecAccessControlCreateFlags)
func isStrictSupersetOf(_ other: SecAccessControlCreateFlags) -> Bool
func isStrictSubsetOf(_ other: SecAccessControlCreateFlags) -> Bool
}
extension SecAccessControlCreateFlags {
func union(_ other: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags
func intersection(_ other: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags
func symmetricDifference(_ other: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags
}
extension SecAccessControlCreateFlags {
func contains(_ member: SecAccessControlCreateFlags) -> Bool
mutating func insert(_ newMember: SecAccessControlCreateFlags) -> (inserted: Bool, memberAfterInsert: SecAccessControlCreateFlags)
mutating func remove(_ member: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags?
mutating func update(with newMember: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags?
}
extension SecAccessControlCreateFlags {
convenience init()
mutating func formUnion(_ other: SecAccessControlCreateFlags)
mutating func formIntersection(_ other: SecAccessControlCreateFlags)
mutating func formSymmetricDifference(_ other: SecAccessControlCreateFlags)
}
extension SecAccessControlCreateFlags {
convenience init<S : Sequence where S.Iterator.Element == SecAccessControlCreateFlags>(_ sequence: S)
convenience init(arrayLiteral arrayLiteral: SecAccessControlCreateFlags...)
mutating func subtract(_ other: SecAccessControlCreateFlags)
func isSubset(of other: SecAccessControlCreateFlags) -> Bool
func isSuperset(of other: SecAccessControlCreateFlags) -> Bool
func isDisjoint(with other: SecAccessControlCreateFlags) -> Bool
func subtracting(_ other: SecAccessControlCreateFlags) -> SecAccessControlCreateFlags
var isEmpty: Bool { get }
func isStrictSuperset(of other: SecAccessControlCreateFlags) -> Bool
func isStrictSubset(of other: SecAccessControlCreateFlags) -> Bool
} | OptionSet |
Modified SecAccessControlCreateFlags.and
| Declaration | |
|---|---|
| From | static var And: SecAccessControlCreateFlags { get } |
| To | static var and: SecAccessControlCreateFlags { get } |
| Declaration | |
|---|---|
| From | static var ApplicationPassword: SecAccessControlCreateFlags { get } |
| To | static var applicationPassword: SecAccessControlCreateFlags { get } |
| Declaration | |
|---|---|
| From | static var DevicePasscode: SecAccessControlCreateFlags { get } |
| To | static var devicePasscode: SecAccessControlCreateFlags { get } |
Modified SecAccessControlCreateFlags.or
| Declaration | |
|---|---|
| From | static var Or: SecAccessControlCreateFlags { get } |
| To | static var or: SecAccessControlCreateFlags { get } |
| Declaration | |
|---|---|
| From | static var PrivateKeyUsage: SecAccessControlCreateFlags { get } |
| To | static var privateKeyUsage: SecAccessControlCreateFlags { get } |
| Declaration | |
|---|---|
| From | static var TouchIDAny: SecAccessControlCreateFlags { get } |
| To | static var touchIDAny: SecAccessControlCreateFlags { get } |
| Declaration | |
|---|---|
| From | static var TouchIDCurrentSet: SecAccessControlCreateFlags { get } |
| To | static var touchIDCurrentSet: SecAccessControlCreateFlags { get } |
| Declaration | |
|---|---|
| From | static var UserPresence: SecAccessControlCreateFlags { get } |
| To | static var userPresence: SecAccessControlCreateFlags { get } |
Modified SecPadding [struct]
| Declaration | Protocols | |
|---|---|---|
| From | struct SecPadding : OptionSetType {
init(rawValue rawValue: UInt32)
static var None: SecPadding { get }
static var PKCS1: SecPadding { get }
static var OAEP: SecPadding { get }
static var SigRaw: SecPadding { get }
static var PKCS1MD2: SecPadding { get }
static var PKCS1MD5: SecPadding { get }
static var PKCS1SHA1: SecPadding { get }
static var PKCS1SHA224: SecPadding { get }
static var PKCS1SHA256: SecPadding { get }
static var PKCS1SHA384: SecPadding { get }
static var PKCS1SHA512: SecPadding { get }
} | OptionSetType |
| To | struct SecPadding : OptionSet {
init(rawValue rawValue: UInt32)
static var none: SecPadding { get }
static var PKCS1: SecPadding { get }
static var OAEP: SecPadding { get }
static var sigRaw: SecPadding { get }
static var PKCS1MD2: SecPadding { get }
static var PKCS1MD5: SecPadding { get }
static var PKCS1SHA1: SecPadding { get }
static var PKCS1SHA224: SecPadding { get }
static var PKCS1SHA256: SecPadding { get }
static var PKCS1SHA384: SecPadding { get }
static var PKCS1SHA512: SecPadding { get }
func intersect(_ other: SecPadding) -> SecPadding
func exclusiveOr(_ other: SecPadding) -> SecPadding
mutating func unionInPlace(_ other: SecPadding)
mutating func intersectInPlace(_ other: SecPadding)
mutating func exclusiveOrInPlace(_ other: SecPadding)
func isSubsetOf(_ other: SecPadding) -> Bool
func isDisjointWith(_ other: SecPadding) -> Bool
func isSupersetOf(_ other: SecPadding) -> Bool
mutating func subtractInPlace(_ other: SecPadding)
func isStrictSupersetOf(_ other: SecPadding) -> Bool
func isStrictSubsetOf(_ other: SecPadding) -> Bool
}
extension SecPadding {
func union(_ other: SecPadding) -> SecPadding
func intersection(_ other: SecPadding) -> SecPadding
func symmetricDifference(_ other: SecPadding) -> SecPadding
}
extension SecPadding {
func contains(_ member: SecPadding) -> Bool
mutating func insert(_ newMember: SecPadding) -> (inserted: Bool, memberAfterInsert: SecPadding)
mutating func remove(_ member: SecPadding) -> SecPadding?
mutating func update(with newMember: SecPadding) -> SecPadding?
}
extension SecPadding {
convenience init()
mutating func formUnion(_ other: SecPadding)
mutating func formIntersection(_ other: SecPadding)
mutating func formSymmetricDifference(_ other: SecPadding)
}
extension SecPadding {
convenience init<S : Sequence where S.Iterator.Element == SecPadding>(_ sequence: S)
convenience init(arrayLiteral arrayLiteral: SecPadding...)
mutating func subtract(_ other: SecPadding)
func isSubset(of other: SecPadding) -> Bool
func isSuperset(of other: SecPadding) -> Bool
func isDisjoint(with other: SecPadding) -> Bool
func subtracting(_ other: SecPadding) -> SecPadding
var isEmpty: Bool { get }
func isStrictSuperset(of other: SecPadding) -> Bool
func isStrictSubset(of other: SecPadding) -> Bool
} | OptionSet |
Modified SecPadding.sigRaw
| Declaration | |
|---|---|
| From | static var SigRaw: SecPadding { get } |
| To | static var sigRaw: SecPadding { get } |
| Declaration | |
|---|---|
| From | func SecAccessControlCreateWithFlags(_ allocator: CFAllocator?, _ protection: AnyObject, _ flags: SecAccessControlCreateFlags, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> SecAccessControl? |
| To | func SecAccessControlCreateWithFlags(_ allocator: CFAllocator?, _ protection: CFTypeRef, _ flags: SecAccessControlCreateFlags, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>?) -> SecAccessControl? |
| Declaration | |
|---|---|
| From | func SecItemAdd(_ attributes: CFDictionary, _ result: UnsafeMutablePointer<AnyObject?>) -> OSStatus |
| To | func SecItemAdd(_ attributes: CFDictionary, _ result: UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus |
| Declaration | |
|---|---|
| From | func SecItemCopyMatching(_ query: CFDictionary, _ result: UnsafeMutablePointer<AnyObject?>) -> OSStatus |
| To | func SecItemCopyMatching(_ query: CFDictionary, _ result: UnsafeMutablePointer<CFTypeRef?>?) -> OSStatus |
| Declaration | |
|---|---|
| From | func SecKeyGeneratePair(_ parameters: CFDictionary, _ publicKey: UnsafeMutablePointer<SecKey?>, _ privateKey: UnsafeMutablePointer<SecKey?>) -> OSStatus |
| To | func SecKeyGeneratePair(_ parameters: CFDictionary, _ publicKey: UnsafeMutablePointer<SecKey?>?, _ privateKey: UnsafeMutablePointer<SecKey?>?) -> OSStatus |
| Declaration | |
|---|---|
| From | func SecPolicyCopyProperties(_ policyRef: SecPolicy) -> CFDictionary |
| To | func SecPolicyCopyProperties(_ policyRef: SecPolicy) -> CFDictionary? |
| Declaration | |
|---|---|
| From | func SecPolicyCreateRevocation(_ revocationFlags: CFOptionFlags) -> SecPolicy |
| To | func SecPolicyCreateRevocation(_ revocationFlags: CFOptionFlags) -> SecPolicy? |
| Declaration | |
|---|---|
| From | func SecPolicyCreateWithProperties(_ policyIdentifier: AnyObject, _ properties: CFDictionary?) -> SecPolicy |
| To | func SecPolicyCreateWithProperties(_ policyIdentifier: CFTypeRef, _ properties: CFDictionary?) -> SecPolicy? |
| Declaration | |
|---|---|
| From | func SecRandomCopyBytes(_ rnd: SecRandomRef, _ count: Int, _ bytes: UnsafeMutablePointer<UInt8>) -> Int32 |
| To | func SecRandomCopyBytes(_ rnd: SecRandomRef?, _ count: Int, _ bytes: UnsafeMutablePointer<UInt8>) -> Int32 |
Modified SecRandomRef
| Declaration | |
|---|---|
| From | typealias SecRandomRef = COpaquePointer |
| To | typealias SecRandomRef = OpaquePointer |
Modified SecTrustCallback
| Declaration | |
|---|---|
| From | typealias SecTrustCallback = (SecTrust, SecTrustResultType) -> Void |
| To | typealias SecTrustCallback = (SecTrust, SecTrustResultType) -> Swift.Void |
| Declaration | |
|---|---|
| From | func SecTrustCreateWithCertificates(_ certificates: AnyObject, _ policies: AnyObject?, _ trust: UnsafeMutablePointer<SecTrust?>) -> OSStatus |
| To | func SecTrustCreateWithCertificates(_ certificates: CFTypeRef, _ policies: CFTypeRef?, _ trust: UnsafeMutablePointer<SecTrust?>) -> OSStatus |
| Declaration | |
|---|---|
| From | func SecTrustEvaluate(_ trust: SecTrust, _ result: UnsafeMutablePointer<SecTrustResultType>) -> OSStatus |
| To | func SecTrustEvaluate(_ trust: SecTrust, _ result: UnsafeMutablePointer<SecTrustResultType>?) -> OSStatus |
Modified SecTrustEvaluateAsync(_: SecTrust, _: DispatchQueue?, _: Security.SecTrustCallback) -> OSStatus
| Declaration | |
|---|---|
| From | func SecTrustEvaluateAsync(_ trust: SecTrust, _ queue: dispatch_queue_t?, _ result: SecTrustCallback) -> OSStatus |
| To | func SecTrustEvaluateAsync(_ trust: SecTrust, _ queue: DispatchQueue?, _ result: Security.SecTrustCallback) -> OSStatus |
| Declaration | |
|---|---|
| From | func SecTrustSetExceptions(_ trust: SecTrust, _ exceptions: CFData) -> Bool |
| To | func SecTrustSetExceptions(_ trust: SecTrust, _ exceptions: CFData?) -> Bool |
| Declaration | |
|---|---|
| From | func SecTrustSetOCSPResponse(_ trust: SecTrust, _ responseData: AnyObject?) -> OSStatus |
| To | func SecTrustSetOCSPResponse(_ trust: SecTrust, _ responseData: CFTypeRef?) -> OSStatus |
| Declaration | |
|---|---|
| From | func SecTrustSetPolicies(_ trust: SecTrust, _ policies: AnyObject) -> OSStatus |
| To | func SecTrustSetPolicies(_ trust: SecTrust, _ policies: CFTypeRef) -> OSStatus |