{"version":3,"file":"X509Api.mjs","names":[],"sources":["../../../src/modules/x509/X509Api.ts"],"sourcesContent":["import { AgentContext } from '../../agent'\nimport { injectable } from '../../plugins'\n\nimport { X509ModuleConfig } from './X509ModuleConfig'\nimport { X509RevocationService } from './X509RevocationService'\nimport { X509Service } from './X509Service'\nimport type {\n  X509CheckCertificateRevocationOptions,\n  X509CreateCertificateOptions,\n  X509CreateCertificateRevocationListOptions,\n  X509CreateCertificateSigningRequestOptions,\n  X509FetchCertificateRevocationListOptions,\n  X509ParseCertificateSigningRequestOptions,\n  X509ValidateCertificateChainOptions,\n} from './X509ServiceOptions'\n\n/**\n * @public\n */\n@injectable()\nexport class X509Api {\n  public constructor(\n    private agentContext: AgentContext,\n    public config: X509ModuleConfig\n  ) {}\n\n  /**\n   * Creates a X.509 certificate.\n   *\n   * @param options X509CreateCertificateOptions\n   */\n  public async createCertificate(options: X509CreateCertificateOptions) {\n    return await X509Service.createCertificate(this.agentContext, options)\n  }\n\n  /**\n   * Create a certificate signing request (CSR)\n   *\n   * @param options X509CreateCertificateSigningRequestOptions\n   */\n  public async createCertificateSigningRequest(options: X509CreateCertificateSigningRequestOptions) {\n    return await X509Service.createCertificateSigningRequest(this.agentContext, options)\n  }\n\n  /**\n   * Creates and signs a X.509 Certificate Revocation List (CRL).\n   *\n   * @param options X509CreateCertificateRevocationListOptions\n   */\n  public async createCertificateRevocationList(options: X509CreateCertificateRevocationListOptions) {\n    return await X509Service.createCertificateRevocationList(this.agentContext, options)\n  }\n\n  /**\n   * Parses a certificate signing request (CSR)\n   *\n   * @param options X509ParseCertificateSigningRequestOptions\n   */\n  public parseCertificateSigningRequest(options: X509ParseCertificateSigningRequestOptions) {\n    return X509Service.parseCertificateSigningRequest(options)\n  }\n\n  /**\n   * Validate a certificate chain.\n   *\n   * @param options X509ValidateCertificateChainOptions\n   */\n  public async validateCertificateChain(options: X509ValidateCertificateChainOptions) {\n    return await X509Service.validateCertificateChain(this.agentContext, options)\n  }\n\n  /**\n   * Check the revocation status of a single certificate using CRL.\n   *\n   * @param options X509CheckCertificateRevocationOptions\n   */\n  public async checkCertificateRevocation(options: X509CheckCertificateRevocationOptions) {\n    return await X509RevocationService.checkCertificateRevocation(this.agentContext, options)\n  }\n\n  /**\n   * Fetch a CRL from a URL and parse it, optionally verifying it against an issuer certificate.\n   *\n   * @param options X509FetchCertificateRevocationListOptions\n   */\n  public async fetchCertificateRevocationList(options: X509FetchCertificateRevocationListOptions) {\n    return await X509RevocationService.fetchCertificateRevocationList(this.agentContext, options)\n  }\n}\n"],"mappings":";;;;;;;;;AAoBO,IAAM,UAAN,MAAM,QAAQ;CACnB,YACE,cACA,QACA;EAFQ,KAAA,eAAA;EACD,KAAA,SAAA;CACN;;;;;;CAOH,MAAa,kBAAkB,SAAuC;EACpE,OAAO,MAAM,YAAY,kBAAkB,KAAK,cAAc,OAAO;CACvE;;;;;;CAOA,MAAa,gCAAgC,SAAqD;EAChG,OAAO,MAAM,YAAY,gCAAgC,KAAK,cAAc,OAAO;CACrF;;;;;;CAOA,MAAa,gCAAgC,SAAqD;EAChG,OAAO,MAAM,YAAY,gCAAgC,KAAK,cAAc,OAAO;CACrF;;;;;;CAOA,+BAAsC,SAAoD;EACxF,OAAO,YAAY,+BAA+B,OAAO;CAC3D;;;;;;CAOA,MAAa,yBAAyB,SAA8C;EAClF,OAAO,MAAM,YAAY,yBAAyB,KAAK,cAAc,OAAO;CAC9E;;;;;;CAOA,MAAa,2BAA2B,SAAgD;EACtF,OAAO,MAAM,sBAAsB,2BAA2B,KAAK,cAAc,OAAO;CAC1F;;;;;;CAOA,MAAa,+BAA+B,SAAoD;EAC9F,OAAO,MAAM,sBAAsB,+BAA+B,KAAK,cAAc,OAAO;CAC9F;AACF;AArEC,UAAA,WAAA,CAAA,WAAW,GAAA,mBAAA,qBAAA,CAAA,OAAA,iBAAA,cAAA,SAAA,cAAA,OAAA,qBAAA,cAAA,SAAA,gBAAA,CAAA,CAAA,GAAA,OAAA"}