@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
TypeScript
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 };