/** * VeChain Certificate Utilities * * Certificates in VeChain are used for: * - Identity verification * - DApp authentication * - Proving ownership without sending transactions * - Supply chain certifications * * Certificate structure follows VIP-192 standard */ /** * Certificate purpose types */ export declare enum CertificatePurpose { IDENTIFICATION = "identification", AGREEMENT = "agreement" } /** * Certificate payload structure */ export interface CertificatePayload { purpose: CertificatePurpose; payload: { type: string; content: string; }; } /** * Signed certificate structure */ export interface Certificate { purpose: CertificatePurpose; payload: { type: string; content: string; }; domain: string; timestamp: number; signer: string; signature?: string; } /** * Create a certificate for signing */ export declare function createCertificate(purpose: CertificatePurpose, payloadType: string, content: string, domain: string, signer: string): Certificate; /** * Encode certificate for signing */ export declare function encodeCertificate(cert: Certificate): string; /** * Hash certificate message */ export declare function hashCertificate(cert: Certificate): string; /** * Sign certificate with private key */ export declare function signCertificate(cert: Certificate, privateKey: string): Promise; /** * Verify certificate signature */ export declare function verifyCertificate(cert: Certificate): { valid: boolean; recoveredAddress?: string; error?: string; }; /** * Check if certificate is expired */ export declare function isCertificateExpired(cert: Certificate, maxAgeSeconds?: number): boolean; /** * Create identification certificate */ export declare function createIdentificationCertificate(domain: string, signer: string, customContent?: string): Certificate; /** * Create agreement certificate */ export declare function createAgreementCertificate(domain: string, signer: string, agreementContent: string): Certificate; /** * Supply chain certificate payload */ export interface SupplyChainCertPayload { productId: string; certType: 'origin' | 'quality' | 'authenticity' | 'custom'; issuer: string; data: Record; validUntil?: number; } /** * Create supply chain certificate content */ export declare function createSupplyChainCertContent(payload: SupplyChainCertPayload): string; /** * Parse supply chain certificate content */ export declare function parseSupplyChainCertContent(content: string): SupplyChainCertPayload | null; /** * Validate supply chain certificate */ export declare function validateSupplyChainCert(cert: Certificate): { valid: boolean; payload?: SupplyChainCertPayload; errors: string[]; }; //# sourceMappingURL=certificateUtils.d.ts.map