PinnedCertificatesTrustEvaluator
public final class PinnedCertificatesTrustEvaluator : ServerTrustEvaluating
Uses the pinned certificates to validate the server trust. The server trust is considered valid if one of the pinned certificates match one of the server certificates. By validating both the certificate chain and host, certificate pinning provides a very secure form of server trust validation mitigating most, if not all, MITM attacks. Applications are encouraged to always validate the host and require a valid certificate chain in production environments.
-
Creates a
PinnedCertificatesTrustEvaluatorfrom the provided parameters.Declaration
Swift
public init(certificates: [SecCertificate] = Bundle.main.af.certificates, acceptSelfSignedCertificates: Bool = false, performDefaultValidation: Bool = true, validateHost: Bool = true)Parameters
certificatesThe certificates to use to evaluate the trust. All
cer,crt, anddercertificates inBundle.mainby default.acceptSelfSignedCertificatesAdds the provided certificates as anchors for the trust evaluation, allowing self-signed certificates to pass.
falseby default. THIS SETTING SHOULD BE FALSE IN PRODUCTION!performDefaultValidationDetermines whether default validation should be performed in addition to evaluating the pinned certificates.
trueby default.validateHostDetermines whether or not the evaluator should validate the host, in addition to performing the default evaluation, even if
performDefaultValidationisfalse.trueby default. -
Declaration
Swift
public func evaluate(_ trust: SecTrust, forHost host: String) throws
View on GitHub
Install in Dash