3

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?

Shahrukh
  • 740
  • 7
  • 25

0 Answers0