AFSecurityPolicy类说明


继承:NSObject


遵照:NSCoping,NSSecureCoding


声明处:AFNetworkReachabilityManager.h


概述

AFSecurityPolicy评估服务器对固定队的X.509证书的信任和安全连接的公共秘钥。
添加固定的SSL证书到你的应用,帮助预防中间人攻击和其他漏洞。应用处理敏感用户数据或财政信息,强烈建议所有的通信都通过SSL固定配置和使能的HTTPS连接。

任务

其他方法

  • SSLPinningMode 属性
  • pinnedCertificates 属性
  • allowInvalidCertificates 属性
  • validatesDomainName 属性

从Bundle中获取证书

  • + certificatesInBundle

获取指定的安全协议

  • + defaultPolicy

初始化

  • + policyWithPinningMode:
  • + policyWithPinningMode:withPinnedCertificates:

评估服务器信任

  • - evaluateServerTrust:forDomain:

属性

SSLPinningMode

@property (readonly, nonatomic, assign) AFSSLPinningMode SSLPinningMode

讨论

服务器信任评估固定SSL证书的标准。默认为AFSSLPinningModeNone。

声明处

AFSecurityPolicy.h

allowInvalideCertificates

@property (nonatomic, assign) BOOL allowInvalidCertificates

讨论

是否信任一个失效或过期的SSL证书的服务器。默认为NO。

声明处

AFSecurityPolicy.h

pinnedCertificates

@property (nonatomic, strong, nullable) NSSet *pinnedCertificates

讨论

依据SSL固定模式来评估服务器信任的证书。

默认情况下,这个属性设置为保存在目标编译AFNetworking中的任意证书。注意,如果你作为嵌入framework的方式使用AFNetworking,默认情况下没有固定的证书。使用certificationsInBundle从你的目标中加载证书,通过调用policyPinningMode:withPinnedCertificates来创建一个新的政策。
注意:如果固定是使能的,那么任何匹配的固定证书evaluateServerTrust:forDomain:返回true。

声明处

AFSecurityPolicy.h

validatesDomainName

@property (nonatomic, assign) BOOL validatesDomainName

讨论

验证域名是否在证书的CN字段中。默认是YES。

声明处

AFSecurityPolicy.h

类方法

certificatesInBundle:

+ (NSSet *)certificatesInBundle:(NSBundle *)bundle

讨论

返回束(bundle)中包含的任何证书。如果作为一个嵌入式框架使用AFNetworking,必须使用这个方法在应用束中已经包含的证书中来查找证书,当通过调用policyWithPinningMode:withPinnedCertificates来创建安全政策时使用这些证书。

返回值

提供的束中包含的证书。

声明处

AFSecurityPolicy.h

defaultPolicy

+ (instancetype)defaultPolicy

讨论

返回共享的默认安全政策,不允许无效的证书,验证域名,不验证固定的(pinned)证书或公共秘钥。

返回值

默认安全政策。

声明处

AFSecurityPolicy.h

policyWithPinningMode:

+ (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode

讨论

返回一个根据指定固定的模式创建的安全政策。

参数

pinningMode

SSL固定的模式。

返回值

一个新的安全政策。

声明处

AFSecurityPolicy.h

policyWithPinningMode:withPinnedCertificates:

+ (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode withPinnedCertificates:(NSSet *)pinnedCertificates

讨论

返回一个根据指定的固定模式创建一个安全政策。

参数

pinningMode

SSL固定模式。

pinnedCertificates

固定的证书。

返回值

一个新的安全政策。

声明处

AFSecurityPolicy.h

实例方法

evaluateServerTrust:forDomain:

- (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust forDomain:(nullable NSString *)domain

讨论

在安全政策上,指定的服务器信任是否可以被接受。
当服务器返回一个身份验证时,这个方法将会被使用。

参数

serverTrust

服务器信任的X.509证书。

domain

服务器信任的域。如果为nil,这个域将不会被生效。

返回值

是否信任服务器。

声明处

AFSecurityPolicy.h

// END 到现在还没有使用过HTTPS进行服务器的通讯。Hai,不知道什么时候可以开始使用。

你可能感兴趣的:(AFSecurityPolicy类说明)