I have tried implementing ssl pinning with certificate using alamofire in swift project but I am getting noCertificateFound error.
let evaluator : [String : ServerTrustEvaluating] = ["staging-clientsapi.expatpa.com": PinnedCertificatesTrustEvaluator(certificates: AFWrapper.pinnedCertificates())]
let manager = ServerTrustManager(evaluators: evaluator)
afSession = Session.init(serverTrustManager: manager)
static func pinnedCertificates() -> [SecCertificate] {
var certificates: [SecCertificate] = []
if let pinnedCertificateURL = Bundle.main.url(forResource: "expatpa.com", withExtension: "cer") {
do {
let pinnedCertificateData: CFData = try Data(contentsOf: pinnedCertificateURL) as CFData
if let pinnedCertificate: SecCertificate = SecCertificateCreateWithData(nil, pinnedCertificateData) {
certificates.append(pinnedCertificate)
}
} catch {
print("certicate exception--")
}
}
return certificates
}
afSession.request(request).validate().responseString { .... }
New contributor
Koustov Basu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.