UNPKG

nubank.ts

Version:
50 lines (49 loc) 1.6 kB
import { AxiosInstance } from 'axios'; import { asn1, pki } from 'node-forge'; import Discovery from './discovery'; interface IPayload { login: string; password: string; public_key: string; public_key_crypto: string; model: string; device_id: string; code?: string; 'encrypted-code'?: string; } export default class CertificateGenerator { login: string; password: string; device_id: string; encrypted_code: string; partialEmail: string; key1: pki.rsa.KeyPair; key2: pki.rsa.KeyPair; discovery: Discovery; url: string; client: AxiosInstance; codeSentAt: Date; expiresAt: Date; static fromState(discovery: Discovery, password: string): CertificateGenerator; constructor(discovery: Discovery, login: string, password: string, device_id: string, encrypted_code?: string); saveState(): void; static encryptString(str: string, key: string): string; static decryptString(encrypted: string, key: string): string; requestCode(): Promise<{ email: string; expiresAt: Date; codeSentAt: Date; }>; exchangeCerts(code: string): Promise<{ cert1: asn1.Asn1; cert2: asn1.Asn1; }>; getPayload(): IPayload; parseCert(content: pki.PEM): pki.Certificate; genCert(key: pki.rsa.KeyPair, cert: pki.Certificate): asn1.Asn1; generateKey(): pki.rsa.KeyPair; serializePublicKey(key: pki.rsa.KeyPair): string; serializePrivateKey(key: pki.rsa.KeyPair): string; loadSerializedKey(pubKey: string, privKey: string): pki.rsa.KeyPair; } export {};