На Alamofire 1 и Swift 1.2 я использовал следующий код, чтобы оформить заявку, представив свой собственный сертификат клиента:Использование сертификата клиента с Alamofire 2,0
Alamofire.request(.POST, url!, parameters: params, encoding: .JSON)
.authenticate(usingCredential: credential)
.responseJSON { (request, response, JSON, error) in
...
}
С Alamofire и Swift 2.0 я принял возлагали сертификаты и использование мой собственный пример Manager
. Однако сервер сообщает, что действительный сертификат не был отправлен.
let manager = Manager(
configuration: NSURLSessionConfiguration.defaultSessionConfiguration(),
serverTrustPolicyManager: ServerTrustPolicyManager(policies:
["my.server.com": ServerTrustPolicy.PinCertificates(certificates: [
SecCertificateCreateWithData(kCFAllocatorDefault,
NSData(contentsOfFile: NSBundle.mainBundle().pathForResource("root-ca", ofType: "der")!)!)!
],
validateCertificateChain: true, validateHost: true)
])
)
Что я делаю неправильно? У меня нет доступа к серверу, чтобы посмотреть, как выглядят входящие запросы. Тем не менее, принимаются следующие cURL-запросы:
curl -X POST -d '{"foo": "bar"}' https://my.server.com --cert client.pem --insecure
Благодарим за помощь!