UNPKG

@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

52 lines (51 loc) • 2.56 kB
import { X509CreateCertificateOptions, X509CreateCertificateSigningRequestOptions, X509GetLeafCertificateOptions, X509ParseCertificateOptions, X509ParseCertificateSigningRequestOptions, X509ValidateCertificateChainOptions } from "./X509ServiceOptions.mjs"; import { X509Certificate } from "./X509Certificate.mjs"; import { CertificateSigningRequest } from "./CertificateSigningRequest.mjs"; import { AgentContext } from "../../agent/context/AgentContext.mjs"; import "../../agent/index.mjs"; //#region src/modules/x509/X509Service.d.ts declare class X509Service { /** * * Validate a chain of X.509 certificates according to RFC 5280 * * This function requires a list of base64 encoded certificates and, optionally, a certificate that should be found in the chain. * If no certificate is provided, it will just assume the leaf certificate * * The leaf certificate should be the 0th index and the root the last * * The Issuer of the certificate is found with the following algorithm: * - Check if there is an AuthorityKeyIdentifierExtension * - Go through all the other certificates and see if the SubjectKeyIdentifier is equal to the AuthorityKeyIdentifier * - If they are equal, the certificate is verified and returned as the issuer * * Additional validation: * - Make sure at least a single certificate is in the chain * - Check whether a certificate in the chain matches with a trusted certificate */ static validateCertificateChain(agentContext: AgentContext, { certificateChain, certificate, verificationDate, trustedCertificates }: X509ValidateCertificateChainOptions): Promise<X509Certificate[]>; /** * * Parses a base64-encoded X.509 certificate into a {@link X509Certificate} * */ static parseCertificate(_agentContext: AgentContext, { encodedCertificate }: X509ParseCertificateOptions): X509Certificate; static getLeafCertificate(_agentContext: AgentContext, { certificateChain }: X509GetLeafCertificateOptions): X509Certificate; static createCertificate(agentContext: AgentContext, options: X509CreateCertificateOptions): Promise<X509Certificate>; static createCertificateSigningRequest(agentContext: AgentContext, options: X509CreateCertificateSigningRequestOptions): Promise<CertificateSigningRequest>; static parseCertificateSigningRequest({ encodedCertificateSigningRequest }: X509ParseCertificateSigningRequestOptions): CertificateSigningRequest; } //#endregion export { X509Service }; //# sourceMappingURL=X509Service.d.mts.map