react-native-gizwits-sdk-v5 1.5.6-thirdbluetooth → 1.5.7-thirdbluetooth

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/package.json +1 -1
  2. package/react-native-gizwits-sdk-v5.podspec +2 -2
  3. package/ios/GizwitsiOSSDK.framework/GizwitsiOSSDK +0 -0
  4. package/ios/GizwitsiOSSDK.framework/Headers/CocoaAsyncSocket.h +0 -18
  5. package/ios/GizwitsiOSSDK.framework/Headers/DDASLLogger.h +0 -41
  6. package/ios/GizwitsiOSSDK.framework/Headers/DDAbstractDatabaseLogger.h +0 -102
  7. package/ios/GizwitsiOSSDK.framework/Headers/DDContextFilterLogFormatter.h +0 -63
  8. package/ios/GizwitsiOSSDK.framework/Headers/DDDispatchQueueLogFormatter.h +0 -128
  9. package/ios/GizwitsiOSSDK.framework/Headers/DDFileLogger.h +0 -340
  10. package/ios/GizwitsiOSSDK.framework/Headers/DDLog+LOGV.h +0 -99
  11. package/ios/GizwitsiOSSDK.framework/Headers/DDLog.h +0 -632
  12. package/ios/GizwitsiOSSDK.framework/Headers/DDMultiFormatter.h +0 -30
  13. package/ios/GizwitsiOSSDK.framework/Headers/DDTTYLogger.h +0 -171
  14. package/ios/GizwitsiOSSDK.framework/Headers/ESPAES.h +0 -19
  15. package/ios/GizwitsiOSSDK.framework/Headers/ESPDataCode.h +0 -44
  16. package/ios/GizwitsiOSSDK.framework/Headers/ESPDatumCode.h +0 -38
  17. package/ios/GizwitsiOSSDK.framework/Headers/ESPGuideCode.h +0 -15
  18. package/ios/GizwitsiOSSDK.framework/Headers/ESPTools.h +0 -22
  19. package/ios/GizwitsiOSSDK.framework/Headers/ESPTouch.h +0 -36
  20. package/ios/GizwitsiOSSDK.framework/Headers/ESPTouchDelegate.h +0 -24
  21. package/ios/GizwitsiOSSDK.framework/Headers/ESPTouchGenerator.h +0 -46
  22. package/ios/GizwitsiOSSDK.framework/Headers/ESPTouchResult.h +0 -36
  23. package/ios/GizwitsiOSSDK.framework/Headers/ESPTouchTask.h +0 -124
  24. package/ios/GizwitsiOSSDK.framework/Headers/ESPTouchTaskParameter.h +0 -173
  25. package/ios/GizwitsiOSSDK.framework/Headers/ESPUDPSocketClient.h +0 -50
  26. package/ios/GizwitsiOSSDK.framework/Headers/ESPUDPSocketServer.h +0 -49
  27. package/ios/GizwitsiOSSDK.framework/Headers/ESP_ByteUtil.h +0 -128
  28. package/ios/GizwitsiOSSDK.framework/Headers/ESP_CRC8.h +0 -61
  29. package/ios/GizwitsiOSSDK.framework/Headers/ESP_NetUtil.h +0 -82
  30. package/ios/GizwitsiOSSDK.framework/Headers/ESP_WifiUtil.h +0 -33
  31. package/ios/GizwitsiOSSDK.framework/Headers/ForegroundReconnection.h +0 -23
  32. package/ios/GizwitsiOSSDK.framework/Headers/GCDTimer.h +0 -19
  33. package/ios/GizwitsiOSSDK.framework/Headers/GizwitsiOSSDK-Swift.h +0 -338
  34. package/ios/GizwitsiOSSDK.framework/Headers/GizwitsiOSSDK.h +0 -24
  35. package/ios/GizwitsiOSSDK.framework/Headers/MQTTClient.h +0 -39
  36. package/ios/GizwitsiOSSDK.framework/Headers/MQTTInMemoryPersistence.h +0 -16
  37. package/ios/GizwitsiOSSDK.framework/Headers/MQTTSSLSecurityPolicyDecoder.h +0 -19
  38. package/ios/GizwitsiOSSDK.framework/Headers/MQTTSSLSecurityPolicyEncoder.h +0 -18
  39. package/ios/GizwitsiOSSDK.framework/Headers/MQTTSessionLegacy.h +0 -112
  40. package/ios/GizwitsiOSSDK.framework/Headers/MQTTSessionSynchron.h +0 -194
  41. package/ios/GizwitsiOSSDK.framework/Headers/MQTTStrict.h +0 -33
  42. package/ios/GizwitsiOSSDK.framework/Headers/MQTTUntil.h +0 -14
  43. package/ios/GizwitsiOSSDK.framework/Headers/ReconnectTimer.h +0 -21
  44. package/ios/GizwitsiOSSDK.framework/Headers/_GCDAsyncSocket.h +0 -1226
  45. package/ios/GizwitsiOSSDK.framework/Headers/_GCDAsyncUdpSocket.h +0 -1036
  46. package/ios/GizwitsiOSSDK.framework/Headers/_GizwitsParser.h +0 -61
  47. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTCFSocketDecoder.h +0 -39
  48. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTCFSocketEncoder.h +0 -38
  49. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTCFSocketTransport.h +0 -79
  50. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTCoreDataPersistence.h +0 -21
  51. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTDecoder.h +0 -66
  52. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTLog.h +0 -123
  53. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTMessage.h +0 -233
  54. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTPersistence.h +0 -124
  55. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTProperties.h +0 -76
  56. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTSSLSecurityPolicy.h +0 -158
  57. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTSSLSecurityPolicyTransport.h +0 -30
  58. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTSession.h +0 -886
  59. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTSessionManager.h +0 -237
  60. package/ios/GizwitsiOSSDK.framework/Headers/_MQTTTransport.h +0 -114
  61. package/ios/GizwitsiOSSDK.framework/Headers/_SSZipArchive.h +0 -178
  62. package/ios/GizwitsiOSSDK.framework/Headers/_SSZipCommon.h +0 -71
  63. package/ios/GizwitsiOSSDK.framework/Headers/_ZipArchive.h +0 -26
  64. package/ios/GizwitsiOSSDK.framework/Headers/a_weighting.h +0 -88
  65. package/ios/GizwitsiOSSDK.framework/Headers/aubio.h +0 -231
  66. package/ios/GizwitsiOSSDK.framework/Headers/audio_unit.h +0 -61
  67. package/ios/GizwitsiOSSDK.framework/Headers/awhitening.h +0 -125
  68. package/ios/GizwitsiOSSDK.framework/Headers/beattracking.h +0 -121
  69. package/ios/GizwitsiOSSDK.framework/Headers/biquad.h +0 -75
  70. package/ios/GizwitsiOSSDK.framework/Headers/c_weighting.h +0 -88
  71. package/ios/GizwitsiOSSDK.framework/Headers/common.h +0 -104
  72. package/ios/GizwitsiOSSDK.framework/Headers/cvec.h +0 -247
  73. package/ios/GizwitsiOSSDK.framework/Headers/dct.h +0 -85
  74. package/ios/GizwitsiOSSDK.framework/Headers/fft.h +0 -144
  75. package/ios/GizwitsiOSSDK.framework/Headers/filter.h +0 -176
  76. package/ios/GizwitsiOSSDK.framework/Headers/filterbank.h +0 -90
  77. package/ios/GizwitsiOSSDK.framework/Headers/filterbank_mel.h +0 -72
  78. package/ios/GizwitsiOSSDK.framework/Headers/fmat.h +0 -172
  79. package/ios/GizwitsiOSSDK.framework/Headers/fvec.h +0 -178
  80. package/ios/GizwitsiOSSDK.framework/Headers/hist.h +0 -63
  81. package/ios/GizwitsiOSSDK.framework/Headers/ioutils.h +0 -60
  82. package/ios/GizwitsiOSSDK.framework/Headers/log.h +0 -99
  83. package/ios/GizwitsiOSSDK.framework/Headers/lvec.h +0 -118
  84. package/ios/GizwitsiOSSDK.framework/Headers/mathutils.h +0 -330
  85. package/ios/GizwitsiOSSDK.framework/Headers/mfcc.h +0 -79
  86. package/ios/GizwitsiOSSDK.framework/Headers/musicutils.h +0 -171
  87. package/ios/GizwitsiOSSDK.framework/Headers/notes.h +0 -113
  88. package/ios/GizwitsiOSSDK.framework/Headers/onset.h +0 -347
  89. package/ios/GizwitsiOSSDK.framework/Headers/parameter.h +0 -159
  90. package/ios/GizwitsiOSSDK.framework/Headers/peakpicker.h +0 -57
  91. package/ios/GizwitsiOSSDK.framework/Headers/phasevoc.h +0 -112
  92. package/ios/GizwitsiOSSDK.framework/Headers/pitch.h +0 -197
  93. package/ios/GizwitsiOSSDK.framework/Headers/pitchfcomb.h +0 -76
  94. package/ios/GizwitsiOSSDK.framework/Headers/pitchmcomb.h +0 -77
  95. package/ios/GizwitsiOSSDK.framework/Headers/pitchschmitt.h +0 -75
  96. package/ios/GizwitsiOSSDK.framework/Headers/pitchspecacf.h +0 -103
  97. package/ios/GizwitsiOSSDK.framework/Headers/pitchyin.h +0 -100
  98. package/ios/GizwitsiOSSDK.framework/Headers/pitchyinfast.h +0 -102
  99. package/ios/GizwitsiOSSDK.framework/Headers/pitchyinfft.h +0 -99
  100. package/ios/GizwitsiOSSDK.framework/Headers/resampler.h +0 -65
  101. package/ios/GizwitsiOSSDK.framework/Headers/sampler.h +0 -140
  102. package/ios/GizwitsiOSSDK.framework/Headers/scale.h +0 -80
  103. package/ios/GizwitsiOSSDK.framework/Headers/sink.h +0 -181
  104. package/ios/GizwitsiOSSDK.framework/Headers/sink_apple_audio.h +0 -163
  105. package/ios/GizwitsiOSSDK.framework/Headers/sink_sndfile.h +0 -162
  106. package/ios/GizwitsiOSSDK.framework/Headers/sink_wavwrite.h +0 -162
  107. package/ios/GizwitsiOSSDK.framework/Headers/source.h +0 -184
  108. package/ios/GizwitsiOSSDK.framework/Headers/source_apple_audio.h +0 -156
  109. package/ios/GizwitsiOSSDK.framework/Headers/source_avcodec.h +0 -155
  110. package/ios/GizwitsiOSSDK.framework/Headers/source_sndfile.h +0 -155
  111. package/ios/GizwitsiOSSDK.framework/Headers/source_wavread.h +0 -160
  112. package/ios/GizwitsiOSSDK.framework/Headers/specdesc.h +0 -204
  113. package/ios/GizwitsiOSSDK.framework/Headers/tempo.h +0 -255
  114. package/ios/GizwitsiOSSDK.framework/Headers/tss.h +0 -103
  115. package/ios/GizwitsiOSSDK.framework/Headers/types.h +0 -70
  116. package/ios/GizwitsiOSSDK.framework/Headers/vecutils.h +0 -116
  117. package/ios/GizwitsiOSSDK.framework/Headers/wavetable.h +0 -178
  118. package/ios/GizwitsiOSSDK.framework/Info.plist +0 -0
  119. package/ios/GizwitsiOSSDK.framework/LICENSE +0 -17
  120. package/ios/GizwitsiOSSDK.framework/Modules/GizwitsiOSSDK.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  121. package/ios/GizwitsiOSSDK.framework/Modules/GizwitsiOSSDK.swiftmodule/arm64-apple-ios.abi.json +0 -57489
  122. package/ios/GizwitsiOSSDK.framework/Modules/GizwitsiOSSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +0 -1752
  123. package/ios/GizwitsiOSSDK.framework/Modules/GizwitsiOSSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  124. package/ios/GizwitsiOSSDK.framework/Modules/GizwitsiOSSDK.swiftmodule/arm64-apple-ios.swiftinterface +0 -1752
  125. package/ios/GizwitsiOSSDK.framework/Modules/GizwitsiOSSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
  126. package/ios/GizwitsiOSSDK.framework/Modules/module.modulemap +0 -11
  127. package/ios/GizwitsiOSSDK.framework/PrivacyInfo.xcprivacy +0 -23
  128. package/ios/GizwitsiOSSDK.framework/README.md +0 -31
@@ -1,124 +0,0 @@
1
- //
2
- // MQTTPersistence.h
3
- // MQTTClient
4
- //
5
- // Created by Christoph Krey on 22.03.15.
6
- // Copyright © 2015-2017 Christoph Krey. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "_MQTTMessage.h"
11
-
12
- static BOOL const _MQTT_PERSISTENT = NO;
13
- static NSInteger const _MQTT_MAX_SIZE = 64 * 1024 * 1024;
14
- static NSInteger const _MQTT_MAX_WINDOW_SIZE = 16;
15
- static NSInteger const _MQTT_MAX_MESSAGES = 1024;
16
-
17
- /** MQTTFlow is an abstraction of the entity to be stored for persistence */
18
-
19
- @protocol _MQTTFlow
20
- /** The clientID of the flow element */
21
- @property (strong, nonatomic) NSString *clientId;
22
-
23
- /** The flag indicating incoming or outgoing flow element */
24
- @property (strong, nonatomic) NSNumber *incomingFlag;
25
-
26
- /** The flag indicating if the flow element is retained*/
27
- @property (strong, nonatomic) NSNumber *retainedFlag;
28
-
29
- /** The MQTTCommandType of the flow element, might be MQTT_None for offline queueing */
30
- @property (strong, nonatomic) NSNumber *commandType;
31
-
32
- /** The MQTTQosLevel of the flow element */
33
- @property (strong, nonatomic) NSNumber *qosLevel;
34
-
35
- /** The messageId of the flow element */
36
- @property (strong, nonatomic) NSNumber *messageId;
37
-
38
- /** The topic of the flow element */
39
- @property (strong, nonatomic) NSString *topic;
40
-
41
- /** The data of the flow element */
42
- @property (strong, nonatomic) NSData *data;
43
-
44
- /** The deadline of the flow elelment before (re)trying transmission */
45
- @property (strong, nonatomic) NSDate *deadline;
46
-
47
- @end
48
-
49
- /** The MQTTPersistence protocol is an abstraction of persistence classes for MQTTSession */
50
-
51
- @protocol _MQTTPersistence
52
-
53
- /** The maximum Window Size for outgoing inflight messages per clientID. Defaults to 16 */
54
- @property (nonatomic) NSUInteger maxWindowSize;
55
-
56
- /** The maximum number of messages kept per clientID and direction. Defaults to 1024 */
57
- @property (nonatomic) NSUInteger maxMessages;
58
-
59
- /** Indicates if the persistence implementation should make the information permannent. Defaults to NO */
60
- @property (nonatomic) BOOL persistent;
61
-
62
- /** The maximum size of the storage used for persistence in total in bytes. Defaults to 1024*1024 bytes */
63
- @property (nonatomic) NSUInteger maxSize;
64
-
65
- /** The current Window Size for outgoing inflight messages per clientID.
66
- * @param clientId identifying the session
67
- * @return the current size of the outgoing inflight window
68
- */
69
- - (NSUInteger)windowSize:(NSString *)clientId;
70
-
71
- /** Stores one new message
72
- * @param clientId identifying the session
73
- * @param topic the topic of the message
74
- * @param data the message's data
75
- * @param retainFlag the retain flag of the message
76
- * @param qos the quality of service of the message
77
- * @param msgId the id of the message or zero for qos zero
78
- * @param incomingFlag the direction of the message
79
- * @param commandType the command of the message
80
- * @param deadline the deadline of the message for repetitions
81
- * @return the created MQTTFlow element or nil if the maxWindowSize has been exceeded
82
- */
83
- - (id<_MQTTFlow>)storeMessageForClientId:(NSString *)clientId
84
- topic:(NSString *)topic
85
- data:(NSData *)data
86
- retainFlag:(BOOL)retainFlag
87
- qos:(_MQTTQosLevel)qos
88
- msgId:(UInt16)msgId
89
- incomingFlag:(BOOL)incomingFlag
90
- commandType:(UInt8)commandType
91
- deadline:(NSDate *)deadline;
92
-
93
- /** Deletes an MQTTFlow element
94
- * @param flow the MQTTFlow to delete
95
- */
96
- - (void)deleteFlow:(id<_MQTTFlow>)flow;
97
-
98
- /** Deletes all MQTTFlow elements of a clientId
99
- * @param clientId the client Id identifying all MQTTFlows to be deleted
100
- */
101
- - (void)deleteAllFlowsForClientId:(NSString *)clientId;
102
-
103
- /** Retrieves all MQTTFlow elements of a clientId and direction
104
- * @param clientId whos MQTTFlows should be retrieved
105
- * @param incomingFlag specifies the wether incoming or outgoing flows should be retrieved
106
- * @return an NSArray of the retrieved MQTTFlow elements
107
- */
108
- - (NSArray *)allFlowsforClientId:(NSString *)clientId
109
- incomingFlag:(BOOL)incomingFlag;
110
-
111
- /** Retrieves an MQTTFlow element
112
- * @param clientId to which the MQTTFlow belongs to
113
- * @param incomingFlag specifies the direction of the flow
114
- * @param messageId specifies the message Id of the flow
115
- * @return the retrieved MQTTFlow element or nil if the elememt was not found
116
- */
117
- - (id<_MQTTFlow>)flowforClientId:(NSString *)clientId
118
- incomingFlag:(BOOL)incomingFlag
119
- messageId:(UInt16)messageId;
120
-
121
- /** sync is called to allow the MQTTPersistence implemetation to save data permanently */
122
- - (void)sync;
123
-
124
- @end
@@ -1,76 +0,0 @@
1
- //
2
- // MQTTProperties.h
3
- // MQTTClient
4
- //
5
- // Created by Christoph Krey on 04.04.17.
6
- // Copyright © 2017 Christoph Krey. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
-
11
- typedef NS_ENUM(UInt8, _MQTTPropertyIdentifier) {
12
- MQTTPayloadFormatIndicator = 1,
13
- MQTTPublicationExpiryInterval = 2,
14
- MQTTContentType = 3,
15
- MQTTResponseTopic = 8,
16
- MQTTCorrelationData = 9,
17
- MQTTSubscriptionIdentifier = 11,
18
- MQTTSessionExpiryInterval = 17,
19
- MQTTAssignedClientIdentifier = 18,
20
- MQTTServerKeepAlive = 19,
21
- MQTTAuthMethod = 21,
22
- MQTTAuthData = 22,
23
- MQTTRequestProblemInformation = 23,
24
- MQTTWillDelayInterval = 24,
25
- MQTTRequestResponseInformation = 25,
26
- MQTTResponseInformation = 26,
27
- MQTTServerReference = 28,
28
- MQTTReasonString = 31,
29
- MQTTReceiveMaximum = 33,
30
- MQTTTopicAliasMaximum = 34,
31
- MQTTTopicAlias = 35,
32
- MQTTMaximumQoS = 36,
33
- MQTTRetainAvailable = 37,
34
- MQTTUserProperty = 38,
35
- MQTTMaximumPacketSize = 39,
36
- MQTTWildcardSubscriptionAvailable = 40,
37
- MQTTSubscriptionIdentifiersAvailable = 41,
38
- MQTTSharedSubscriptionAvailable = 42
39
- };
40
-
41
-
42
- @interface _MQTTProperties : NSObject
43
-
44
- @property (strong, nonatomic) NSNumber *payloadFormatIndicator;
45
- @property (strong, nonatomic) NSNumber *publicationExpiryInterval;
46
- @property (strong, nonatomic) NSString *contentType;
47
- @property (strong, nonatomic) NSString *responseTopic;
48
- @property (strong, nonatomic) NSData *correlationData;
49
- @property (strong, nonatomic) NSNumber *subscriptionIdentifier;
50
- @property (strong, nonatomic) NSNumber *sessionExpiryInterval;
51
- @property (strong, nonatomic) NSString *assignedClientIdentifier;
52
- @property (strong, nonatomic) NSNumber *serverKeepAlive;
53
- @property (strong, nonatomic) NSString *authMethod;
54
- @property (strong, nonatomic) NSData *authData;
55
- @property (strong, nonatomic) NSNumber *requestProblemInformation;
56
- @property (strong, nonatomic) NSNumber *willDelayInterval;
57
- @property (strong, nonatomic) NSNumber *requestResponseInformation;
58
- @property (strong, nonatomic) NSString *responseInformation;
59
- @property (strong, nonatomic) NSString *serverReference;
60
- @property (strong, nonatomic) NSString *reasonString;
61
- @property (strong, nonatomic) NSNumber *receiveMaximum;
62
- @property (strong, nonatomic) NSNumber *topicAliasMaximum;
63
- @property (strong, nonatomic) NSNumber *topicAlias;
64
- @property (strong, nonatomic) NSNumber *maximumQoS;
65
- @property (strong, nonatomic) NSNumber *retainAvailable;
66
- @property (strong, nonatomic) NSMutableDictionary <NSString *, NSString *> *userProperty;
67
- @property (strong, nonatomic) NSNumber *maximumPacketSize;
68
- @property (strong, nonatomic) NSNumber *wildcardSubscriptionAvailable;
69
- @property (strong, nonatomic) NSNumber *subscriptionIdentifiersAvailable;
70
- @property (strong, nonatomic) NSNumber *sharedSubscriptionAvailable;
71
-
72
- - (instancetype)initFromData:(NSData *)data NS_DESIGNATED_INITIALIZER;
73
- + (int)getVariableLength:(NSData *)data;
74
- + (int)variableIntLength:(int)length;
75
-
76
- @end
@@ -1,158 +0,0 @@
1
- //
2
- // MQTTSSLSecurityPolicy.h
3
- // MQTTClient.framework
4
- //
5
- // Created by @bobwenx on 15/6/1.
6
- //
7
- // based on
8
- //
9
- // Copyright (c) 2011–2015 AFNetwork (http://alamofire.org/)
10
- //
11
- // Permission is hereby granted, free of charge, to any person obtaining a copy
12
- // of this software and associated documentation files (the "Software"), to deal
13
- // in the Software without restriction, including without limitation the rights
14
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
- // copies of the Software, and to permit persons to whom the Software is
16
- // furnished to do so, subject to the following conditions:
17
- //
18
- // The above copyright notice and this permission notice shall be included in
19
- // all copies or substantial portions of the Software.
20
- //
21
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27
- // THE SOFTWARE.
28
-
29
- #import <Foundation/Foundation.h>
30
- #import <Security/Security.h>
31
-
32
- /**
33
- ## SSL Pinning Modes
34
-
35
- The following constants are provided by `MQTTSSLPinningModeNone` as possible SSL pinning modes.
36
-
37
- enum {
38
- MQTTSSLPinningModeNone,
39
- MQTTSSLPinningModePublicKey,
40
- MQTTSSLPinningModeCertificate,
41
- }
42
-
43
- `MQTTSSLPinningModeNone`
44
- Do not used pinned certificates to validate servers.
45
-
46
- `MQTTSSLPinningModePublicKey`
47
- Validate host certificates against public keys of pinned certificates.
48
-
49
- `MQTTSSLPinningModeCertificate`
50
- Validate host certificates against pinned certificates.
51
- */
52
- typedef NS_ENUM(NSUInteger, _MQTTSSLPinningMode) {
53
- // Do not used pinned certificates to validate servers.
54
- MQTTSSLPinningModeNone,
55
- // Validate host certificates against public keys of pinned certificates.
56
- MQTTSSLPinningModePublicKey,
57
- // Validate host certificates against pinned certificates.
58
- MQTTSSLPinningModeCertificate,
59
- };
60
-
61
- /**
62
- `MQTTSSLSecurityPolicy` evaluates server trust against pinned X.509 certificates and public keys over secure connections.
63
-
64
- If your app using security model which require pinning SSL certificates to helps prevent man-in-the-middle attacks
65
- and other vulnerabilities. you need to set securityPolicy to properly value(see MQTTSSLSecurityPolicy.h for more detail).
66
-
67
- NOTE: about self-signed server certificates:
68
- if your server using Self-signed certificates to establish SSL/TLS connection, you need to set property:
69
- MQTTSSLSecurityPolicy.allowInvalidCertificates=YES.
70
-
71
- If SSL is enabled, by default it only evaluate server's certificates using CA infrastructure, and for most case, this type of check is enough.
72
- However, if your app using security model which require pinning SSL certificates to helps prevent man-in-the-middle attacks
73
- and other vulnerabilities. you may need to set securityPolicy to properly value(see MQTTSSLSecurityPolicy.h for more detail).
74
-
75
- NOTE: about self-signed server certificates:
76
- In CA infrastructure, you may establish a SSL/TLS connection with server which using self-signed certificates
77
- by install the certificates into OS keychain(either programmatically or manually). however, this method has some disadvantages:
78
- 1. every socket you app created will trust certificates you added.
79
- 2. if user choice to remove certificates from keychain, you app need to handling certificates re-adding.
80
-
81
- If you only want to verify the cert for the socket you are creating and for no other sockets in your app, you need to use
82
- MQTTSSLSecurityPolicy.
83
- And if you use self-signed server certificates, your need to set property: MQTTSSLSecurityPolicy.allowInvalidCertificates=YES
84
-
85
- Adding pinned SSL certificates to your app helps prevent man-in-the-middle attacks and other vulnerabilities.
86
- Applications dealing with sensitive customer data or financial information are strongly encouraged to route all communication
87
- over an SSL/TLS connection with SSL pinning configured and enabled.
88
- */
89
- @interface _MQTTSSLSecurityPolicy : NSObject
90
- /**
91
- The criteria by which server trust should be evaluated against the pinned SSL certificates. Defaults to `MQTTSSLPinningMode`.
92
- */
93
- @property (readonly, nonatomic, assign) _MQTTSSLPinningMode SSLPinningMode;
94
-
95
- /**
96
- Whether to evaluate an entire SSL certificate chain, or just the leaf certificate. Defaults to `YES`.
97
- */
98
- @property (nonatomic, assign) BOOL validatesCertificateChain;
99
-
100
- /**
101
- The certificates used to evaluate server trust according to the SSL pinning mode. By default, this property is set to any (`.cer`) certificates included in the app bundle.
102
- Note: Array item type: NSData - Bytes of X.509 certificate file in der format.
103
- Note that if you create an array with duplicate certificates, the duplicate certificates will be removed.
104
- */
105
- @property (nonatomic, strong) NSArray *pinnedCertificates;
106
-
107
- /**
108
- Whether or not to trust servers with an invalid or expired SSL certificates. Defaults to `NO`.
109
- Note: If your server-certificates are self signed, your should set this property to 'YES'.
110
- */
111
- @property (nonatomic, assign) BOOL allowInvalidCertificates;
112
-
113
- /**
114
- Whether or not to validate the domain name in the certificate's CN field. Defaults to `YES`.
115
- */
116
- @property (nonatomic, assign) BOOL validatesDomainName;
117
-
118
- ///-----------------------------------------
119
- /// @name Getting Specific Security Policies
120
- ///-----------------------------------------
121
-
122
- /**
123
- Returns the shared default security policy, which does not allow invalid certificates, validates domain name, and does not validate against pinned certificates or public keys.
124
-
125
- @return The default security policy.
126
- */
127
- + (instancetype)defaultPolicy;
128
-
129
- ///---------------------
130
- /// @name Initialization
131
- ///---------------------
132
-
133
- /**
134
- Creates and returns a security policy with the specified pinning mode.
135
-
136
- @param pinningMode The SSL pinning mode.
137
-
138
- @return A new security policy.
139
- */
140
- + (instancetype)policyWithPinningMode:(_MQTTSSLPinningMode)pinningMode;
141
-
142
- ///------------------------------
143
- /// @name Evaluating Server Trust
144
- ///------------------------------
145
-
146
- /**
147
- Whether or not the specified server trust should be accepted, based on the security policy.
148
-
149
- This method should be used when responding to an authentication challenge from a server.
150
-
151
- @param serverTrust The X.509 certificate trust of the server.
152
- @param domain The domain of serverTrust. If `nil`, the domain will not be validated.
153
-
154
- @return Whether or not to trust the server.
155
- */
156
- - (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust
157
- forDomain:(NSString *)domain;
158
- @end
@@ -1,30 +0,0 @@
1
- //
2
- // MQTTSSLSecurityPolicyTransport.h
3
- // MQTTClient
4
- //
5
- // Created by Christoph Krey on 06.12.15.
6
- // Copyright © 2015-2017 Christoph Krey. All rights reserved.
7
- //
8
-
9
- #import "_MQTTTransport.h"
10
- #import "_MQTTSSLSecurityPolicy.h"
11
- #import "_MQTTCFSocketTransport.h"
12
-
13
- /** MQTTSSLSecurityPolicyTransport
14
- * implements an extension of the MQTTCFSocketTransport by replacing the OS's certificate chain evaluation
15
- */
16
- @interface _MQTTSSLSecurityPolicyTransport : _MQTTCFSocketTransport
17
-
18
- /**
19
- * The security policy used to evaluate server trust for secure connections.
20
- *
21
- * if your app using security model which require pinning SSL certificates to helps prevent man-in-the-middle attacks
22
- * and other vulnerabilities. you need to set securityPolicy to properly value(see MQTTSSLSecurityPolicy.h for more detail).
23
- *
24
- * NOTE: about self-signed server certificates:
25
- * if your server using Self-signed certificates to establish SSL/TLS connection, you need to set property:
26
- * MQTTSSLSecurityPolicy.allowInvalidCertificates=YES.
27
- */
28
- @property (strong, nonatomic) _MQTTSSLSecurityPolicy *securityPolicy;
29
-
30
- @end