     private let validateCertificateChain: Bool
     private let validateHost: Bool
 
-    public init(publicKeys: [SecKey], validateCertificateChain: Bool, validateHost: Bool) {
+    @nonobjc public init(publicKeys: [SecKey], validateCertificateChain: Bool, validateHost: Bool) {
         self.pinnedPublicKeys = publicKeys
+        self.validateCertificateChain = validateCertificateChain
+        self.validateHost = validateHost
+    }
+
+    public init(certificatesData: [Data], validateCertificateChain: Bool, validateHost: Bool) {
+        self.pinnedPublicKeys = PinPublicKeys.publicKeys(from: certificatesData)
         self.validateCertificateChain = validateCertificateChain
         self.validateHost = validateHost
     }

        }

        if certificateChainEvaluationPassed {
            outerLoop: for serverPublicKey in publicKeys(for: serverTrust) as [AnyObject] {
                for pinnedPublicKey in pinnedPublicKeys as [AnyObject] {
                    if serverPublicKey.isEqual(pinnedPublicKey) {
                        return true

        }
        return false
    }
}

public class RevokedEvaluation: NSObject, ServerTrustPolicy {
