Package apple.matter

Class MTRDeviceControllerStartupParams

  • All Implemented Interfaces:
    NSObject

    public class MTRDeviceControllerStartupParams
    extends NSObject
    • Constructor Detail

      • MTRDeviceControllerStartupParams

        protected MTRDeviceControllerStartupParams​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(@NotNull
                                                                   @NotNull java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(@NotNull
                                                                                 @NotNull java.lang.Object aTarget,
                                                                                 @NotNull
                                                                                 @NotNull org.moe.natj.objc.SEL aSelector,
                                                                                 @Nullable
                                                                                 @Nullable java.lang.Object anArgument)
      • caseAuthenticatedTags

        @Nullable
        public @Nullable NSSet<? extends NSNumber> caseAuthenticatedTags()
        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. API-Since: 17.0
      • classFallbacksForKeyedArchiver

        @NotNull
        public static @NotNull NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        @NotNull
        public static @NotNull org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • fabricID

        @NotNull
        public @NotNull NSNumber fabricID()
        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: * If a root certificate is provided, it is the public key of the root certificate. * If a root certificate is not provided, the root public key is the public key of the nocSigner keypair, since in this case we are not using an intermediate certificate. API-Since: 16.4
      • fabricId

        @Deprecated
        public long fabricId()
        Deprecated.
        API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use fabricID
      • hash_static

        public static long hash_static()
      • initWithIPKFabricIDNocSigner

        public MTRDeviceControllerStartupParams initWithIPKFabricIDNocSigner​(@NotNull
                                                                             @NotNull NSData ipk,
                                                                             @NotNull
                                                                             @NotNull NSNumber fabricID,
                                                                             @NotNull
                                                                             @NotNull MTRKeypair nocSigner)
        * Prepare to initialize a controller given a keypair to use for signing * operational certificates. * * A controller created from MTRDeviceControllerStartupParams initialized with * this method will be able to issue operational certificates to devices it * commissions, using nocSigner to sign them. * @param ipk The Identity Protection Key, must be 16 bytes in length * @param fabricID The fabric identifier, must be non-zero. API-Since: 16.4
      • initWithIPKOperationalKeypairOperationalCertificateIntermediateCertificateRootCertificate

        public MTRDeviceControllerStartupParams initWithIPKOperationalKeypairOperationalCertificateIntermediateCertificateRootCertificate​(@NotNull
                                                                                                                                          @NotNull NSData ipk,
                                                                                                                                          @NotNull
                                                                                                                                          @NotNull MTRKeypair operationalKeypair,
                                                                                                                                          @NotNull
                                                                                                                                          @NotNull NSData operationalCertificate,
                                                                                                                                          @Nullable
                                                                                                                                          @Nullable NSData intermediateCertificate,
                                                                                                                                          @NotNull
                                                                                                                                          @NotNull NSData rootCertificate)
        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 MTRDeviceControllerStartupParams 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.
        Parameters:
        ipk - The Identity Protection Key, must be 16 bytes in length
        intermediateCertificate - may be nil if operationalCertificate is directly signed by rootCertificate. API-Since: 16.4
      • initWithOperationalKeypairOperationalCertificateIntermediateCertificateRootCertificateIpk

        @Deprecated
        public MTRDeviceControllerStartupParams initWithOperationalKeypairOperationalCertificateIntermediateCertificateRootCertificateIpk​(@NotNull
                                                                                                                                          @NotNull MTRKeypair operationalKeypair,
                                                                                                                                          @NotNull
                                                                                                                                          @NotNull NSData operationalCertificate,
                                                                                                                                          @Nullable
                                                                                                                                          @Nullable NSData intermediateCertificate,
                                                                                                                                          @NotNull
                                                                                                                                          @NotNull NSData rootCertificate,
                                                                                                                                          @NotNull
                                                                                                                                          @NotNull NSData ipk)
        Deprecated.
        API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use initWithIPK:operationalKeypair:operationalCertificate:intermediateCertificate:rootCertificate:
      • initWithSigningKeypairFabricIdIpk

        @Deprecated
        public MTRDeviceControllerStartupParams initWithSigningKeypairFabricIdIpk​(@NotNull
                                                                                  @NotNull MTRKeypair nocSigner,
                                                                                  long fabricId,
                                                                                  @NotNull
                                                                                  @NotNull NSData ipk)
        Deprecated.
        API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use initWithIPK:fabricID:nocSigner:
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • intermediateCertificate

        @Nullable
        public @Nullable NSData intermediateCertificate()
        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: * Must not be nil if an intermediate CA is being used. * Must be nil if an intermediate CA is not being used. When using an existing fabric: * If not nil, will be used as the intermediate certificate for issuing operational certificates. * If nil: * If nocSigner is not nil, there is an existing intermediate certificate, and it matches the nocSigner public key, the existing intermediate certificate will be used. * Otherwise the fabric will not use an intermediate certificate. This allows switching from using an intermediate CA to not using one.
      • ipk

        @NotNull
        public @NotNull NSData ipk()
        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.
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • nocSigner

        @Nullable
        public @Nullable MTRKeypair nocSigner()
        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 MTRDeviceControllerStartupParams object must be initialized using initWithIPK:operationalKeypair:operationalCertificate:intermediateCertificate:rootCertificate: (to provide the operational credentials for t2he controller itself).
      • nodeID

        @Nullable
        public @Nullable NSNumber nodeID()
        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: * When creating a new fabric: ** nodeID is allowed to be nil to indicate that a random node id should be generated. * When using an existing fabric: ** 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. API-Since: 16.4
      • nodeId

        @Deprecated
        @Nullable
        public @Nullable NSNumber nodeId()
        Deprecated.
        API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use nodeID
      • operationalCertificate

        @Nullable
        public @Nullable NSData operationalCertificate()
        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.
      • operationalCertificateIssuer

        @Nullable
        public @Nullable MTROperationalCertificateIssuer operationalCertificateIssuer()
        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. API-Since: 16.4
      • operationalCertificateIssuerQueue

        @Nullable
        public @Nullable dispatch_queue_t operationalCertificateIssuerQueue()
        The dispatch queue on which operationalCertificateIssuer should be called. Allowed to be nil if and only if operationalCertificateIssuer is nil. API-Since: 16.4
      • operationalKeypair

        @Nullable
        public @Nullable MTRKeypair operationalKeypair()
        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.
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • rootCertificate

        @Nullable
        public @Nullable NSData rootCertificate()
        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: * May be nil if nocSigner is not nil and an intermediate CA is not being used. In that case the nocSigner keypair, which is the keypair for the root certificate, will be used to generate and sign a root certificate, with a random issuer id. In this case, the fabricID will be included in the root certificate's subject DN. When using an existing fabric: * May be nil if nocSigner is not nil and an intermediate CA is not being used. In that case, the existing root certificate for the fabric will be used. * 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.
      • setCaseAuthenticatedTags

        public void setCaseAuthenticatedTags​(@Nullable
                                             @Nullable NSSet<? extends NSNumber> value)
        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. API-Since: 17.0
      • setIntermediateCertificate

        public void setIntermediateCertificate​(@Nullable
                                               @Nullable NSData value)
        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: * Must not be nil if an intermediate CA is being used. * Must be nil if an intermediate CA is not being used. When using an existing fabric: * If not nil, will be used as the intermediate certificate for issuing operational certificates. * If nil: * If nocSigner is not nil, there is an existing intermediate certificate, and it matches the nocSigner public key, the existing intermediate certificate will be used. * Otherwise the fabric will not use an intermediate certificate. This allows switching from using an intermediate CA to not using one.
      • setNodeID

        public void setNodeID​(@Nullable
                              @Nullable NSNumber value)
        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: * When creating a new fabric: ** nodeID is allowed to be nil to indicate that a random node id should be generated. * When using an existing fabric: ** 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. API-Since: 16.4
      • setNodeId

        @Deprecated
        public void setNodeId​(@Nullable
                              @Nullable NSNumber value)
        Deprecated.
        API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use nodeID
      • setOperationalCertificateIssuer

        public void setOperationalCertificateIssuer​(@Nullable
                                                    @Nullable MTROperationalCertificateIssuer value)
        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. API-Since: 16.4
      • setOperationalCertificateIssuerQueue

        public void setOperationalCertificateIssuerQueue​(@Nullable
                                                         @Nullable dispatch_queue_t value)
        The dispatch queue on which operationalCertificateIssuer should be called. Allowed to be nil if and only if operationalCertificateIssuer is nil. API-Since: 16.4
      • setOperationalKeypair

        public void setOperationalKeypair​(@Nullable
                                          @Nullable MTRKeypair value)
        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.
      • setRootCertificate

        public void setRootCertificate​(@Nullable
                                       @Nullable NSData value)
        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: * May be nil if nocSigner is not nil and an intermediate CA is not being used. In that case the nocSigner keypair, which is the keypair for the root certificate, will be used to generate and sign a root certificate, with a random issuer id. In this case, the fabricID will be included in the root certificate's subject DN. When using an existing fabric: * May be nil if nocSigner is not nil and an intermediate CA is not being used. In that case, the existing root certificate for the fabric will be used. * 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.
      • setVendorID

        public void setVendorID​(@Nullable
                                @Nullable NSNumber value)
        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: * Must not be nil. When using an existing fabric: * Will override existing value if not nil. Otherwise existing value will be used. API-Since: 16.4
      • setVendorId

        @Deprecated
        public void setVendorId​(@Nullable
                                @Nullable NSNumber value)
        Deprecated.
        API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use vendorID
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.
      • vendorID

        @Nullable
        public @Nullable NSNumber vendorID()
        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: * Must not be nil. When using an existing fabric: * Will override existing value if not nil. Otherwise existing value will be used. API-Since: 16.4
      • vendorId

        @Deprecated
        @Nullable
        public @Nullable NSNumber vendorId()
        Deprecated.
        API-Since: 16.1 Deprecated-Since: 16.4 Deprecated-Message: Please use vendorID
      • version_static

        public static long version_static()