我正在尝试从手表发出 TLS 请求以进行客户端身份验证。
我发现客户端(iwatch)通过调用completionHandler(NSURLSessionAuthChallengeUseCredential,credential)提供客户端证书后立即取消了连接。
我得到的错误是
"Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLStringKey=serverurl, NSErrorFailingURLKey=serverurl, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <BB419DCD-C248-4F3E-8EEB-9AF3AA1A9256>.<1>",
"LocalDataPDTask <BB419DCD-C248-4F3E-8EEB-9AF3AA1A9256>.<1>",
"LocalDataTask <BB419DCD-C248-4F3E-8EEB-9AF3AA1A9256>.<1>"
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <BB419DCD-C248-4F3E-8EEB-9AF3AA1A9256>.<1>, NSLocalizedDescription=cancelled}"
.
该请求被客户端本身取消......它没有到达服务器。
当我尝试在 iphone 上运行相同的代码时,它成功了。
我尝试从独立和依赖两种类型的手表应用程序运行此 api。
除了这个 TLS 请求之外,所有其他请求在手表上都可以正常工作。
是否有什么特别需要为手表配置以进行客户端身份验证?
Apple Watch 不支持客户端身份验证吗?如果是这样的话,那么它甚至不应该支持像 SecPKS12Import 这样的 api。