2015-02-17 13 views
9

में एसएसएल पिनिंग आईएम यहाँ एक नया है लेकिन मेरे पास एक ऐप है जो एमआईटीएम हमलों के अधीन है।स्विफ्ट अलामोफायर

मुझे थोड़ी सी शोध के बाद ऐसा लगता है कि मुझे एसएसएल पिनिंग करने की ज़रूरत है, यानी मैं अपने सर्वर की सार्वजनिक कुंजी/प्रमाणपत्र की प्रतिलिपि रखता हूं ताकि यह निर्धारित किया जा सके कि प्रतिक्रिया इससे आई है या नहीं।

मुझे नहीं पता कि यह कैसे करना है, मैं नेटवर्किंग को संभालने के लिए स्विफ्ट में अलामोफायर का उपयोग कर रहा हूं।

उत्तर

-1

के रूप में यहाँ संकेत दिया: https://github.com/Alamofire/Alamofire/issues/366

यह निश्चित रूप से कुछ है कि समुदाय का समर्थन करने के लिए देख रहा है, लेकिन वहाँ के चारों ओर एक ठोस समय सीमा अभी तक नहीं है। मैं उस समय के लिए कहूंगा, आप AFNetworking के साथ जारी रखना चाहते हैं, और आने वाली नई सुविधाओं के लिए अलामोफायर प्रोजेक्ट पर नज़दीकी नजर रखें।

7

अलामोफ़ीयर ने अब प्रमाणपत्र पिनिंग लागू की है। प्रलेखन आप की जरूरत उनके उदाहरण कार्यान्वयन देखें Readme.md

https://github.com/Alamofire/Alamofire

में है:

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 प्रकार 'ServerTrustPolicy' किसी भी हालत 'PinCertificates' है; क्या आपका मतलब 'पिन प्रमाणपत्र' –

संबंधित मुद्दे