//
//  ZYJMQTTSSLSecurityPolicyTransport.h
//  ZYJMQTTClient
//
//  Created by Christoph Krey on 06.12.15.
//  Copyright © 2015-2017 Christoph Krey. All rights reserved.
//

#import "ZYJMQTTTransport.h"
#import "ZYJMQTTSSLSecurityPolicy.h"
#import "ZYJMQTTCFSocketTransport.h"

/** ZYJMQTTSSLSecurityPolicyTransport
 * implements an extension of the ZYJMQTTCFSocketTransport by replacing the OS's certificate chain evaluation
 */
@interface ZYJMQTTSSLSecurityPolicyTransport : ZYJMQTTCFSocketTransport

/**
 * The security policy used to evaluate server trust for secure connections.
 *
 * if your app using security model which require pinning SSL certificates to helps prevent man-in-the-middle attacks
 * and other vulnerabilities. you need to set securityPolicy to properly value(see ZYJMQTTSSLSecurityPolicy.h for more detail).
 *
 * NOTE: about self-signed server certificates:
 * if your server using Self-signed certificates to establish SSL/TLS connection, you need to set property:
 * ZYJMQTTSSLSecurityPolicy.allowInvalidCertificates=YES.
 */
@property (strong, nonatomic) ZYJMQTTSSLSecurityPolicy *securityPolicy;

@end
