/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import type { ClientNode } from "#node/ClientNode.js"; import { Bytes, Crypto } from "@matter/general"; import { FabricId, FabricIndex, VendorId } from "@matter/types"; import type { OperationalCredentials } from "@matter/types/clusters/operational-credentials"; export declare const VERIFICATION_STATEMENT_SIZE = 85; export declare namespace VendorIdVerification { interface SignData { fabricBindingVersion?: number; clientChallenge: Bytes; attChallenge: Bytes; fabricIndex: FabricIndex; fabric: { rootPublicKey: Bytes; fabricId: FabricId; rootVendorId: VendorId; vidVerificationStatement?: Bytes; }; } /** Prepare the data to be signed for VID Verification */ function dataToSign(data: SignData): { fabricBindingVersion: number; signatureData: Uint8Array; }; /** * Verify VendorId ownership using VID Verification protocol including needed requests to the device * TODO: Finalize this with DCL data and wire into controller as option * * It requires data read the the device (if relevant read non fabric filtered) for fabrics, nocs and * trustedRootCertificates to provide the raw input data for verification. * * @see {@link MatterSpecification.v161.Core} § 6.4.10.1. */ function verify(node: ClientNode, options: { noc: OperationalCredentials.Noc; rcac: Bytes; fabric: OperationalCredentials.FabricDescriptor; }): Promise; /** * Verify VendorId ownership using VID Verification protocol on pure data level * * @see {@link MatterSpecification.v161.Core} § 6.4.10.1. */ function verifyData(crypto: Crypto, options: { clientChallenge: Bytes; attChallenge: Bytes; signVerificationResponse: OperationalCredentials.SignVidVerificationResponse; noc: OperationalCredentials.Noc; rcac: Bytes; fabric: OperationalCredentials.FabricDescriptor; }): Promise; function createStatementBytes(options: { version?: number; fabricBindingMessage: Bytes; signerSkid: Bytes; }): Uint8Array; function parseStatement(statement: Bytes): { version: number; fabricBindingMessage: Uint8Array; signerSkid: Uint8Array; signature: Uint8Array | undefined; }; } //# sourceMappingURL=VendorIdVerification.d.ts.map