mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 15:58:39 +09:00
31 lines
1,003 B
Swift
31 lines
1,003 B
Swift
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
import Foundation
|
|
import Shared
|
|
import UIKit
|
|
import Deferred
|
|
|
|
/// In-memory certificate store.
|
|
open class CertStore {
|
|
fileprivate var keys = Set<String>()
|
|
|
|
public init() {}
|
|
|
|
open func addCertificate(_ cert: SecCertificate, forOrigin origin: String) {
|
|
let data: Data = SecCertificateCopyData(cert) as Data
|
|
let key = keyForData(data, origin: origin)
|
|
keys.insert(key)
|
|
}
|
|
|
|
open func containsCertificate(_ cert: SecCertificate, forOrigin origin: String) -> Bool {
|
|
let data: Data = SecCertificateCopyData(cert) as Data
|
|
let key = keyForData(data, origin: origin)
|
|
return keys.contains(key)
|
|
}
|
|
|
|
fileprivate func keyForData(_ data: Data, origin: String) -> String {
|
|
return "\(origin)/\(data.sha256.hexEncodedString)"
|
|
}
|
|
}
|