Я пытаюсь вызвать WebAPI с самонастраиваемым ceritficate. Я выводил ATS, насколько я могу, действуя следующий мое info.plist:Как вызвать вызов WebAPI, который имеет самонастраиваемую аутентификацию в swift
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Однако, даже после добавления этого кода я все еще получаю ту же ошибку. Код и ошибка приведены ниже. Любая помощь будет оценена.
let postEndpoint: String = "https://api.rimorton.com/com.absolute.am.webapi/api/login"
let url = NSURL(string: postEndpoint)
let urlRequest = NSURLRequest(URL: url!)
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
let task = session.dataTaskWithRequest(urlRequest, completionHandler: {
(data, response, error) in
guard error == nil else {
print("error calling GET on /posts/1")
print(error)
return
}
guard let responseData = data else {
print("Error: did not receive data")
return
}
// parse the result as JSON, since that's what the API provides
let post: NSDictionary
do {
post = try NSJSONSerialization.JSONObjectWithData(responseData,
options: []) as! NSDictionary
} catch {
print("error trying to convert data to JSON")
return
}
// now we have the post, let's just print it to prove we can access it
print("The post is: " + post.description)
// the post object is a dictionary
// so we just access the title using the "title" key
// so check for a title and print it if we have one
if let postTitle = post["title"] as? String {
print("The title is: " + postTitle)
}
})
task.resume()
Ошибка: 2016-02-28 19: 40: 03,521 LANrevTarget_Dev [19173: 878737] NSURLSession/NSURLConnection HTTP загрузка не удалась (kCFStreamErrorDomainSSL, -9813) ошибка при вызове GET на/сообщений/1 Дополнительно (Error Domain = NSURLErrorDomain Code = -1202 «Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется« api.rimorton.com », который может поставить вашу конфиденциальную информацию под угрозу». UserInfo = {NSURLErrorFailingURLPeerTrustErrorKey =, NSLocalizedRecoverySuggestion = Хотелось бы подключиться к серверу в любом случае ?, _kCFStreamErrorDomainKey = 3, _kCFStreamErrorCodeKey = -9813, NSErrorPeerCertificateChainKey = {type = immutable, count = 1, values = ( 0: )}, NSUnderlyingError = 0x7fb78b542e00 {Ошибка домена = kCFErrorDomainCFNetwork код = -1202 "(нуль)" UserInfo = {_ kCFStreamPropertySSLClientCertificateState = 0, = kCFStreamPropertySSLPeerTrust, _kCFNetworkCFStreamSSLErrorOriginalValue = -9813, _kCFStreamErrorDomainKey = 3, _kCFStreamErrorCodeKey = -9813, kCFStreamPropertySSLPeerCertificates = {type = immutable, count = 1, values = ( 0: )}}}, NSLocalizedDescription = Сертификат для этого сервера недействителен. Возможно, Вы подключаетесь к серверу, который притворяется «api.rimorton.com», который может поставить вашу конфиденциальную информацию в опасности., NSErrorFailingURLKey = https://api.rimorton.com/com.absolute.am.webapi/api/login, NSErrorFailingURLStringKey = https://api.rimorton.com/com.absolute.am.webapi/api/login, NSErrorClientCertificateStateKey = 0})