UNPKG

@akanass/rx-crypto

Version:

Crypto module provides some functions for security features like AES key, Key pair, RSA key, PKCS12, Certificate, PEM and more

62 lines (61 loc) 2.82 kB
import { CertificateCreationOptions, CertificateCreationResult, CertificateSubjectReadResult, CSRCreationOptions, HashFunction, ModuleConfiguration, Pkcs12CreationOptions, Pkcs12ReadOptions, PrivateKeyCreationOptions } from 'pem'; import { Observable } from 'rxjs'; export interface PrivateKeyCreationResult { key: string; } export interface PublicKeyCreationResult { publicKey: string; } export interface KeyPairCreationResult { key: string; publicKey: string; } export interface DhParamKeyCreationResult { dhparam: any; } export interface EcParamKeyCreationResult { ecparam: any; } export interface CSRCreationResult { csr: string; clientKey: string; } export interface FingerprintResult { fingerprint: string; } export interface ModulusResult { modulus: any; } export interface DhParamInfoResult { size: any; prime: any; } export interface PKCS12CreationResult { pkcs12: any; } export interface PKCS12ReadResult { key: string; cert: string; ca: string[]; } export declare class PEM { private _config?; constructor(_config?: ModuleConfiguration); createPrivateKey(keyBitsize?: number, options?: PrivateKeyCreationOptions): Observable<PrivateKeyCreationResult>; createDhparam(keyBitsize?: number): Observable<DhParamKeyCreationResult>; createEcparam(keyName?: string, paramEnc?: string, noOut?: boolean): Observable<EcParamKeyCreationResult>; createCSR(options?: CSRCreationOptions): Observable<CSRCreationResult>; createCertificate(options?: CertificateCreationOptions): Observable<CertificateCreationResult>; readCertificateInfo(certificate: string): Observable<CertificateSubjectReadResult>; getPublicKey(certificate: string): Observable<PublicKeyCreationResult>; createKeyPair(keyBitsize?: number, options?: PrivateKeyCreationOptions): Observable<KeyPairCreationResult>; getFingerprint(certificate: string, hash?: HashFunction): Observable<FingerprintResult>; getModulus(certificate: string, password?: string): Observable<ModulusResult>; getDhparamInfo(dh: string): Observable<DhParamInfoResult>; createPkcs12(key: string, certificate: string, password: string, options?: Pkcs12CreationOptions): Observable<PKCS12CreationResult>; readPkcs12(bufferOrPath: string, options?: Pkcs12ReadOptions): Observable<PKCS12ReadResult>; checkPkcs12(bufferOrPath: string, passphrase?: string): Observable<boolean>; verifySigningChain(certificate: string, ca: string[]): Observable<boolean>; checkCertificate(certificate: string, passphrase?: string): Observable<boolean>; } export { CertificateCreationOptions, CertificateCreationResult, CertificateSubjectReadResult, CSRCreationOptions, HashFunction, Pkcs12CreationOptions, Pkcs12ReadOptions, PrivateKeyCreationOptions, ModuleConfiguration };