TrustKit碰到的问题

使用TrustKit的时候 碰到的问题

http://www.github.com/datatheorem/TrustKit

根据文档和官方demo中的解释 很容易就能添加TrustKit到项目中 并且demo也没有问题 但是在项目中编译的时候 build是成功 run起来之后会报错

“TrustKit was initialized with an invalid value for TSKPublicKeyAlgorithms for domain yahoo.com'

意思是 TrustKit初始化时,域名yahoo.com的TSKPublicKeyAlgorithms的值无效。

经过在TrustKit的API中查找

发现了这个属性TSKPublicKeyAlgorithms 需要在初始化配置的时候 在domain配置的时候 加上这个属性

虽然官方文档说这个属性已经废弃了 但是不加就报错了 注意这个属性是数组类型 如果给他字符串或者数字 还是会报错

“Unknown class ViewController in Interface Builder file.”  所以注意给数组类型的数据 一般空数组 ok的

例如:

NSDictionary *trustKitConfig = @{

                          kTSKPinnedDomains : @{

                                  @"www.datatheorem.com" : @{

                                          kTSKExpirationDate: @"2017-12-01",

                                          kTSKPublicKeyHashes : @[

                                                  @"HXXQgxueCIU5TTLHob/bPbwcKOKw6DkfsTWYHbxbqTY=",

                                                  @"0SDf3cRToyZJaMsoS17oF72VMavLxj/N7WBNasNuiR8="

                                                  ],

                                          kTSKEnforcePinning : @NO,

                                          kTSKReportUris : @[@"http://report.datatheorem.com/log_report"],

                                          kTSKPublicKeyAlgorithms : @[]

                                          },

                                  @"yahoo.com" : @{

                                          kTSKPublicKeyHashes : @[

                                                  @"TQEtdMbmwFgYUifM4LDF+xgEtd0z69mPGmkp014d6ZY=",

                                                  @"rFjc3wG7lTZe43zeYTvPq8k4xdDEutCmIhI5dn4oCeE=",

                                                  ],

                                          kTSKIncludeSubdomains : @YES,

                                          kTSKPublicKeyAlgorithms : @[]

                                          },

                                  @"www.gbbsp-1.hangseng.com" : @{

                                          kTSKEnforcePinning:@YES,

                                          // Valid SPKI hashes to demonstrate success

                                          kTSKPublicKeyHashes : @[



@"EgQdMU2GJEiRkCK+5dwQb2Z15f33iF+bs3//QTd6cQY=", // CA key: COMODO ECC

Certification Authority


      @"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", // Fake key but 2

pins need to be provided

                                                  ],

                                          kTSKPublicKeyAlgorithms : @[]

                                          }

                                  }};

    [TrustKit initSharedInstanceWithConfiguration:trustKitConfig];

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容