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];

你可能感兴趣的:(TrustKit碰到的问题)