2015-02-17 18 views
9

Im a newb ở đây nhưng tôi có một ứng dụng chịu sự tấn công của MITM.ssl pinning trong Swift AlamoFire

Sau một chút nghiên cứu, có vẻ như tôi cần thực hiện SSL Pining, tức là giữ bản sao khóa công khai/chứng chỉ máy chủ của tôi để có thể xác định xem phản hồi có đến từ nó hay không.

Tôi không biết làm cách nào để thực hiện việc này, tôi đang sử dụng AlamoFire trong Swift để xử lý mạng.

Trả lời

-1

Như đã nêu ở đây: https://github.com/Alamofire/Alamofire/issues/366

Nó chắc chắn là điều mà cộng đồng đang xem xét để hỗ trợ, nhưng không có một khung thời gian rắn xung quanh nó được nêu ra. Tôi muốn nói trong thời gian này, bạn sẽ muốn tiếp tục với AFNetworking và theo dõi chặt chẽ dự án Alamofire để có các tính năng mới.

7

Alamofire hiện đã triển khai khóa chứng chỉ. Các tài liệu bạn cần là trong Readme.md

https://github.com/Alamofire/Alamofire

Xem thực hiện tấm gương của họ:

let serverTrustPolicies: [String: ServerTrustPolicy] = [ 
    "test.example.com": .PinCertificates(
     certificates: ServerTrustPolicy.certificatesInBundle(), 
     validateCertificateChain: true, 
     validateHost: true 
    ), 
    "insecure.expired-apis.com": .DisableEvaluation 
] 

let manager = Manager(
    serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies) 
) 
+0

Enum gõ 'ServerTrustPolicy' không có trường hợp 'PinCertificates'; ý của bạn là 'pinCertificates' –

Các vấn đề liên quan