@citrineos/util
Version:
The OCPP util module which supplies helpful utilities like cache and queue connectors, etc.
37 lines (36 loc) • 1.65 kB
TypeScript
import { IChargingStationCertificateAuthorityClient } from './interface';
import { SystemConfig } from '@citrineos/base';
import { Client } from 'acme-client';
import { ILogObj, Logger } from 'tslog';
export declare class Acme implements IChargingStationCertificateAuthorityClient {
private readonly _directoryUrl;
private readonly _email;
private readonly _preferredChain;
private _securityCertChainKeyMap;
private _client;
private _logger;
constructor(config: SystemConfig, logger?: Logger<ILogObj>, client?: Client);
/**
* Get LetsEncrypt Root CA certificate, ISRG Root X1.
* @return {Promise<string>} The CA certificate pem.
*/
getRootCACertificate(): Promise<string>;
/**
* Retrieves a signed certificate based on the provided CSR.
* The returned certificate will be signed by Let's Encrypt, ISRG Root X1.
* which is listed in https://ccadb.my.salesforce-sites.com/mozilla/CAAIdentifiersReport
*
* @param {string} csrString - The certificate signing request.
* @return {Promise<string>} The signed certificate.
*/
signCertificateByExternalCA(csrString: string): Promise<string>;
/**
* Get sub CA from the certificate chain.
* Use it to sign certificate based on the CSR string.
*
* @param {string} csrString - The Certificate Signing Request (CSR) string.
* @return {Promise<string>} - The signed certificate followed by sub CA in PEM format.
*/
getCertificateChain(csrString: string): Promise<string>;
updateCertificateChainKeyMap(serverId: string, certificateChain: string, privateKey: string): void;
}