I am new to swift and Certificate Pinning.
I have created .der
certificated like this openssl s_client -showcerts -connect www.github.com:443 < /dev/null | openssl x509 -outform DER > githubcom.der
and imported into my project.
and then created SessionManager.
referred from Alamofire Security
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"github.com": .pinCertificates(
certificates: ServerTrustPolicy.certificates(),
validateCertificateChain: true,
validateHost: true
)
]
let sessionManager = SessionManager(serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))
sessionManager.request("https://github.com").response { response in // method defaults to `.get`
debugPrint(response)
}
Debug Output:
Alamofire.DefaultDataResponse(request: Optional(https://github.com), response: nil, data: Optional(0 bytes), error: Optional(Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=https://github.com/, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://github.com/}), timeline: Timeline: { "Request Start Time": 524040427.202, "Initial Response Time": 524040427.234, "Request Completed Time": 524040427.234, "Serialization Completed Time": 524040427.235, "Latency": 0.032 secs, "Request Duration": 0.032 secs, "Serialization Duration": 0.001 secs, "Total Duration": 0.033 secs }, _metrics: nil)
What I am doing wrong?