• Preparing search index...
  • The search index is not available
matter.js-monorepo
  • matter.js-monorepo
  • @matter/main
  • protocol
  • CertificateManager
  • verifyRootCertificate

Function verifyRootCertificate

  • verifyRootCertificate(rootCert): void
  • Verify requirements a Matter Root certificate must fulfill. Rules for this are listed in

    Parameters

    • rootCert: TypeFromFields<{
          ellipticCurveIdentifier: FieldType<number>;
          ellipticCurvePublicKey: FieldType<Uint8Array>;
          extensions: FieldType<TypeFromFields<{
              authorityKeyIdentifier: FieldType<Uint8Array>;
              basicConstraints: FieldType<TypeFromFields<{
                  isCa: FieldType<boolean>;
                  pathLen: OptionalFieldType<number>;
              }>>;
              extendedKeyUsage: OptionalFieldType<number[]>;
              futureExtension: OptionalRepeatedFieldType<Uint8Array[]>;
              keyUsage: FieldType<TypeFromPartialBitSchema<{
                  cRLSign: BitFlag;
                  dataEncipherment: BitFlag;
                  decipherOnly: BitFlag;
                  digitalSignature: BitFlag;
                  encipherOnly: BitFlag;
                  keyAgreement: BitFlag;
                  keyCertSign: BitFlag;
                  keyEncipherment: BitFlag;
                  nonRepudiation: BitFlag;
              }>>;
              subjectKeyIdentifier: FieldType<Uint8Array>;
          }>>;
          issuer: FieldType<TypeFromFields<{
              commonName: OptionalFieldType<string>;
              countryName: OptionalFieldType<string>;
              dnQualifier: OptionalFieldType<string>;
              domainComponent: OptionalFieldType<string>;
              genQualifier: OptionalFieldType<string>;
              givenName: OptionalFieldType<string>;
              initials: OptionalFieldType<string>;
              localityName: OptionalFieldType<string>;
              name: OptionalFieldType<string>;
              orgName: OptionalFieldType<string>;
              orgUnitName: OptionalFieldType<string>;
              pseudonym: OptionalFieldType<string>;
              serialNum: OptionalFieldType<string>;
              stateOrProvinceName: OptionalFieldType<string>;
              sureName: OptionalFieldType<string>;
              title: OptionalFieldType<string>;
          } & {
              caseAuthenticatedTags: OptionalRepeatedFieldType<CaseAuthenticatedTag[]>;
              fabricId: OptionalFieldType<FabricId>;
              firmwareSigningId: OptionalFieldType<number>;
              icacId: OptionalFieldType<number | bigint>;
              nodeId: OptionalFieldType<NodeId>;
              rcacId: OptionalFieldType<number | bigint>;
          } & {
              commonNamePs: OptionalFieldType<string>;
              countryNamePs: OptionalFieldType<string>;
              dnQualifierPs: OptionalFieldType<string>;
              genQualifierPs: OptionalFieldType<string>;
              givenNamePs: OptionalFieldType<string>;
              initialsPs: OptionalFieldType<string>;
              localityNamePs: OptionalFieldType<string>;
              namePs: OptionalFieldType<string>;
              orgNamePs: OptionalFieldType<string>;
              orgUnitNamePs: OptionalFieldType<string>;
              pseudonymPs: OptionalFieldType<string>;
              serialNumPs: OptionalFieldType<string>;
              stateOrProvinceNamePs: OptionalFieldType<string>;
              sureNamePs: OptionalFieldType<string>;
              titlePs: OptionalFieldType<string>;
          }>>;
          notAfter: FieldType<number>;
          notBefore: FieldType<number>;
          publicKeyAlgorithm: FieldType<number>;
          serialNumber: FieldType<Uint8Array>;
          signature: FieldType<Uint8Array>;
          signatureAlgorithm: FieldType<number>;
          subject: FieldType<TypeFromFields<{
              commonName: OptionalFieldType<string>;
              countryName: OptionalFieldType<string>;
              dnQualifier: OptionalFieldType<string>;
              domainComponent: OptionalFieldType<string>;
              genQualifier: OptionalFieldType<string>;
              givenName: OptionalFieldType<string>;
              initials: OptionalFieldType<string>;
              localityName: OptionalFieldType<string>;
              name: OptionalFieldType<string>;
              orgName: OptionalFieldType<string>;
              orgUnitName: OptionalFieldType<string>;
              pseudonym: OptionalFieldType<string>;
              serialNum: OptionalFieldType<string>;
              stateOrProvinceName: OptionalFieldType<string>;
              sureName: OptionalFieldType<string>;
              title: OptionalFieldType<string>;
          } & {
              fabricId: OptionalFieldType<FabricId>;
              rcacId: FieldType<number | bigint>;
          } & {
              commonNamePs: OptionalFieldType<string>;
              countryNamePs: OptionalFieldType<string>;
              dnQualifierPs: OptionalFieldType<string>;
              genQualifierPs: OptionalFieldType<string>;
              givenNamePs: OptionalFieldType<string>;
              initialsPs: OptionalFieldType<string>;
              localityNamePs: OptionalFieldType<string>;
              namePs: OptionalFieldType<string>;
              orgNamePs: OptionalFieldType<string>;
              orgUnitNamePs: OptionalFieldType<string>;
              pseudonymPs: OptionalFieldType<string>;
              serialNumPs: OptionalFieldType<string>;
              stateOrProvinceNamePs: OptionalFieldType<string>;
              sureNamePs: OptionalFieldType<string>;
              titlePs: OptionalFieldType<string>;
          }>>;
      }>

    Returns void

    See

    MatterSpecification.v12.Core §6.5.x

    • Defined in packages/protocol/dist/esm/certificate/CertificateManager.d.ts:560

Settings

Member Visibility
matter.js-monorepo
  • Loading...

Generated using TypeDoc