lipengwei
2020-04-09 5034eefb65f57edb5ddb554a644a33de14b5c7fc
commit | author | age
ea8e18 1 //
L 2 //  MQTTCFSocketTransport.h
3 //  MQTTClient
4 //
5 //  Created by Christoph Krey on 06.12.15.
6 //  Copyright © 2015-2016 Christoph Krey. All rights reserved.
7 //
8
9 #import "MQTTTransport.h"
10 #import "MQTTCFSocketDecoder.h"
11 #import "MQTTCFSocketEncoder.h"
12
13 /** MQTTCFSocketTransport
14  * implements an MQTTTransport on top of CFNetwork
15  */
16 @interface MQTTCFSocketTransport : MQTTTransport <MQTTTransport, MQTTCFSocketDecoderDelegate, MQTTCFSocketEncoderDelegate>
17
18 /** host an NSString containing the hostName or IP address of the host to connect to
19  * defaults to @"localhost"
20  */
21 @property (strong, nonatomic) NSString *host;
22
23 /** port an unsigned 16 bit integer containing the IP port number to connect to 
24  * defaults to 1883
25  */
26 @property (nonatomic) UInt16 port;
27
28 /** tls a boolean indicating whether the transport should be using security 
29  * defaults to NO
30  */
31 @property (nonatomic) BOOL tls;
32
33 /** certificates An identity certificate used to reply to a server requiring client certificates according
34  * to the description given for SSLSetCertificate(). You may build the certificates array yourself or use the
35  * sundry method clientCertFromP12.
36  */
37 @property (strong, nonatomic) NSArray *certificates;
38
39 /** reads the content of a PKCS12 file and converts it to an certificates array for initWith...
40  @param path the path to a PKCS12 file
41  @param passphrase the passphrase to unlock the PKCS12 file
42  @returns a certificates array or nil if an error occured
43  
44  @code
45  NSString *path = [[NSBundle bundleForClass:[MQTTClientTests class]] pathForResource:@"filename"
46  ofType:@"p12"];
47  
48  NSArray *myCerts = [MQTTCFSocketTransport clientCertsFromP12:path passphrase:@"passphrase"];
49  if (myCerts) {
50  
51  self.session = [[MQTTSession alloc] init];
52  ...
53  self.session.certificates = myCerts;
54  
55  [self.session connect];
56  ...
57  }
58  
59  @endcode
60  
61  */
62
63 + (NSArray *)clientCertsFromP12:(NSString *)path passphrase:(NSString *)passphrase;
64
65 @end