@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
60 lines (59 loc) • 2.42 kB
text/typescript
import { JsonObject } from "../../../../types.mjs";
import { DocumentLoader, Proof } from "../jsonldUtil.mjs";
//#region src/modules/vc/data-integrity/proof-purposes/CredentialIssuancePurpose.d.ts
declare const AssertionProofPurpose: any;
declare const LinkedDataProof: any;
/**
* Creates a proof purpose that will validate whether or not the verification
* method in a proof was authorized by its declared controller for the
* proof's purpose.
*/
declare class CredentialIssuancePurpose extends AssertionProofPurpose {
/**
* @param {object} options - The options to use.
* @param {object} [options.controller] - The description of the controller,
* if it is not to be dereferenced via a `documentLoader`.
* @param {string|Date|number} [options.date] - The expected date for
* the creation of the proof.
* @param {number} [options.maxTimestampDelta=Infinity] - A maximum number
* of seconds that the date on the signature can deviate from.
*/
constructor(options: {
controller?: Record<string, unknown>;
date: string;
maxTimestampDelta?: number;
});
/**
* Validates the purpose of a proof. This method is called during
* proof verification, after the proof value has been checked against the
* given verification method (in the case of a digital signature, the
* signature has been cryptographically verified against the public key).
*
* @param {object} proof - The proof to validate.
* @param {object} options - The options to use.
* @param {object} options.document - The document whose signature is
* being verified.
* @param {object} options.suite - Signature suite used in
* the proof.
* @param {string} options.verificationMethod - Key id URL to the paired
* public key.
* @param {object} [options.documentLoader] - A document loader.
*
* @throws {Error} If verification method not authorized by controller.
* @throws {Error} If proof's created timestamp is out of range.
*
* @returns {Promise<{valid: boolean, error: Error}>} Resolves on completion.
*/
validate(proof: Proof, options?: {
document: JsonObject;
suite: typeof LinkedDataProof;
verificationMethod: string;
documentLoader?: DocumentLoader;
}): Promise<{
valid: boolean;
error?: any;
}>;
}
//#endregion
export { CredentialIssuancePurpose };
//# sourceMappingURL=CredentialIssuancePurpose.d.mts.map