![]() |
Tuya iOS Smart Life App SDK 5.15.0
|
#import <WTLDeviceControllerStartupParams.h>
Instance Methods | |
(instancetype) | - NS_UNAVAILABLE |
(instancetype) | - initWithIPK:fabricID:nocSigner: |
(instancetype) | - initWithIPK:operationalKeypair:operationalCertificate:intermediateCertificate:rootCertificate: |
(NSNumber *fabricID) | - API_AVAILABLE |
(NSNumber *vendorID) | - API_AVAILABLE |
(NSNumber *nodeID) | - API_AVAILABLE |
(id< WTLOperationalCertificateIssuer > operationalCertificateIssuer) | - API_AVAILABLE |
(dispatch_queue_t operationalCertificateIssuerQueue) | - API_AVAILABLE |
(uint64_t fabricId) | - WTL_DEPRECATED |
(NSNumber *vendorId) | - WTL_DEPRECATED |
(NSNumber *nodeId) | - WTL_DEPRECATED |
(instancetype) | - initWithSigningKeypair:fabricId:ipk: |
(instancetype) | - initWithOperationalKeypair:operationalCertificate:intermediateCertificate:rootCertificate:ipk: |
Class Methods | |
(instancetype) | + NS_UNAVAILABLE |
Properties | |
id< WTLKeypair > | nocSigner |
NSData * | ipk |
NSSet< NSNumber * > *caseAuthenticatedTags | WTL_NEWLY_AVAILABLE |
WTLCertificateDERBytes | rootCertificate |
WTLCertificateDERBytes | intermediateCertificate |
WTLCertificateDERBytes | operationalCertificate |
id< WTLKeypair > | operationalKeypair |
Definition at line 26 of file WTLDeviceControllerStartupParams.h.
- (NSNumber *fabricID) API_AVAILABLE | (macos(13.3)) | ||
(watchos(9.4)) | |||
(tvos(16.4)) | |||
Fabric id for the controller. Must be set to a nonzero value. This is scoped by the root public key, which is determined as follows:
- (NSNumber *vendorID) API_AVAILABLE | (macos(13.3)) | ||
(watchos(9.4)) | |||
(tvos(16.4)) | |||
Vendor ID (allocated by the Connectivity Standards Alliance) for this controller.
If not nil, must not be the "standard" vendor id (0).
When creating a new fabric:
When using an existing fabric:
- (NSNumber *nodeID) API_AVAILABLE | (macos(13.3)) | ||
(watchos(9.4)) | |||
(tvos(16.4)) | |||
Node id for this controller.
If operationalCertificate is not nil, must be nil. The provided operational certificate will be used as-is.
If not nil, must be a valid Matter operational node id.
If operationalCertificate is nil, nodeID and operationalKeypair are used to determine an operational certificate, as follows:
** nodeID is allowed to be nil to indicate that a random node id should be generated.
** nodeID is allowed to be nil to indicate that the existing operational node id should be used. The existing operational keys will also be used, unless operationalKeypair is provided. The existing caseAuthenticatedTags will be used.
** If nodeID is not nil, a new operational certificate will be generated for the provided node id (even if that matches the existing node id), using either the operationalKeypair if that is provided or a new randomly generated operational key, and using the provided caseAuthenticatedTags.
- (id< WTLOperationalCertificateIssuer > operationalCertificateIssuer) API_AVAILABLE | (macos(13.3)) | ||
(watchos(9.4)) | |||
(tvos(16.4)) | |||
The certificate issuer delegate to use for issuing operational certificates when commmissioning devices. Allowed to be nil if this controller either does not issue operational certificates at all or internally generates the certificates to be issued. In the latter case, nocSigner must not be nil.
- (dispatch_queue_t operationalCertificateIssuerQueue) API_AVAILABLE | (macos(13.3)) | ||
(watchos(9.4)) | |||
(tvos(16.4)) | |||
The dispatch queue on which operationalCertificateIssuer should be called. Allowed to be nil if and only if operationalCertificateIssuer is nil.
- (instancetype) initWithIPK: | (NSData *) | ipk | |
fabricID: | (NSNumber *) | fabricID | |
nocSigner: | (macos(13.3)) | ||
(watchos(9.4)) | |||
(tvos(16.4)) | API_AVAILABLE | ||
Prepare to initialize a controller given a keypair to use for signing operational certificates.
A controller created from WTLDeviceControllerStartupParams initialized with this method will be able to issue operational certificates to devices it commissions, using nocSigner to sign them.
ipk | The Identity Protection Key, must be 16 bytes in length |
fabricID | The fabric identifier, must be non-zero. |
- (instancetype) initWithIPK: | (NSData *) | ipk | |
operationalKeypair: | (id< WTLKeypair >) | operationalKeypair | |
operationalCertificate: | (WTLCertificateDERBytes) | operationalCertificate | |
intermediateCertificate: | (WTLCertificateDERBytes _Nullable) | intermediateCertificate | |
rootCertificate: | (macos(13.3)) | ||
(watchos(9.4)) | |||
(tvos(16.4)) | API_AVAILABLE | ||
Prepare to initialize a controller that is not able to sign operational certificates itself, and therefore needs to be provided with a complete operational certificate chain. This initialization method should be used when none of the certificate-signing private keys are available locally.
A controller created from WTLDeviceControllerStartupParams initialized with this method will not be able to commission devices unless operationalCertificateIssuer and operationalCertificateIssuerQueue are set.
The fabric id and node id to use for the controller will be derived from the provided operationalCertificate.
ipk | The Identity Protection Key, must be 16 bytes in length |
intermediateCertificate | may be nil if operationalCertificate is directly signed by rootCertificate. |
- (instancetype) initWithOperationalKeypair: | (id< WTLKeypair >) | operationalKeypair | |
operationalCertificate: | (WTLCertificateDERBytes) | operationalCertificate | |
intermediateCertificate: | (WTLCertificateDERBytes _Nullable) | intermediateCertificate | |
rootCertificate: | (WTLCertificateDERBytes) | rootCertificate | |
ipk: | ("Please use initWithIPK:operationalKeypair:operationalCertificate:intermediateCertificate:rootCertificate:") | ||
(macos(13.0, 13.3)) | |||
(watchos(9.1, 9.4)) | |||
(tvos(16.1, 16.4)) | WTL_DEPRECATED | ||
Provided by category WTLDeviceControllerStartupParams(Deprecated).
- (instancetype) initWithSigningKeypair: | (id< WTLKeypair >) | nocSigner | |
fabricId: | (uint64_t) | fabricId | |
ipk: | ("Please use initWithIPK:fabricID:nocSigner:") | ||
(macos(13.0, 13.3)) | |||
(watchos(9.1, 9.4)) | |||
(tvos(16.1, 16.4)) | WTL_DEPRECATED | ||
Provided by category WTLDeviceControllerStartupParams(Deprecated).
- (instancetype) NS_UNAVAILABLE |
+ (instancetype) NS_UNAVAILABLE |
- (uint64_t fabricId) WTL_DEPRECATED | ("Please use fabricID") | ||
(macos(13.0, 13.3)) | |||
(watchos(9.1, 9.4)) | |||
(tvos(16.1, 16.4)) | |||
Provided by category WTLDeviceControllerStartupParams(Deprecated).
- (NSNumber *nodeId) WTL_DEPRECATED | ("Please use nodeID") | ||
(macos(13.0, 13.3)) | |||
(watchos(9.1, 9.4)) | |||
(tvos(16.1, 16.4)) | |||
Provided by category WTLDeviceControllerStartupParams(Deprecated).
- (NSNumber *vendorId) WTL_DEPRECATED | ("Please use vendorID") | ||
(macos(13.0, 13.3)) | |||
(watchos(9.1, 9.4)) | |||
(tvos(16.1, 16.4)) | |||
Provided by category WTLDeviceControllerStartupParams(Deprecated).
|
readwritenonatomiccopy |
Intermediate certificate, in X.509 DER form, to use.
If not nil, rootCertificate must not be nil, and the intermediate certificate must be signed by rootCertificate.
If not nil, and nocSigner is not nil, the public key of this certificate must match the public key of nocSigner.
When creating a new fabric:
When using an existing fabric:
Definition at line 222 of file WTLDeviceControllerStartupParams.h.
|
readnonatomiccopy |
IPK to use for the controller's fabric. Allowed to change from the last time a controller was started on this fabric if a new IPK has been distributed to all the devices the controller wants to interact with.
Definition at line 98 of file WTLDeviceControllerStartupParams.h.
|
readnonatomiccopy |
Keypair used to sign operational certificates. This is the root CA keypair if not using an intermediate CA, the intermediate CA's keypair otherwise.
Allowed to be nil if this controller will not be issuing internally-generated operational certificates. In that case, the WTLDeviceControllerStartupParams object must be initialized using initWithIPK:operationalKeypair:operationalCertificate:intermediateCertificate:rootCertificate: (to provide the operational credentials for t2he controller itself).
Definition at line 78 of file WTLDeviceControllerStartupParams.h.
|
readnonatomiccopy |
Operational certificate, in X.509 DER form, to use.
If not nil, will be used as the operational certificate. In this case operationalKeypair must not be nil.
If nil, an operational certificate will be determined as described in the documentation for nodeID.
Definition at line 233 of file WTLDeviceControllerStartupParams.h.
|
readwritenonatomicstrong |
Operational keypair to use. If operationalCertificate is not nil, the public key must match operationalCertificate.
If not nil, and if operationalCertificate is nil, a new operational certificate will be generated for the given operationalKeypair. The node id for that certificate will be determined as described in the documentation for nodeID.
Definition at line 244 of file WTLDeviceControllerStartupParams.h.
|
readwritenonatomiccopy |
Root certificate, in X.509 DER form, to use.
Must not be nil if an intermediate CA is being used, to allow determination of the root public key.
If not nil, and if an intermediate CA is not being used, the public key of this certificate must match the public key of nocSigner, if nocSigner is not nil.
When creating a new fabric:
When using an existing fabric:
If not nil must satisfy the following properties:
1) The public key must match the public key of the existing root certificate. 2) The subject DN must match the subject DN of the existing root certificate.
Definition at line 190 of file WTLDeviceControllerStartupParams.h.
|
readwritenonatomiccopy |
CASE authenticated tags to use for this controller's operational certificate.
Only allowed to be not nil if nodeID is not nil. In particular, if operationalCertificate is not nil, must be nil. The provided operational certificate will be used as-is.
If not nil, must contain at most 3 numbers, which are expected to be 32-bit unsigned Case Authenticated Tag values.
Definition at line 157 of file WTLDeviceControllerStartupParams.h.