///
///
///
///
/**
* @description x509 证书对象
*
* X509Cert 对象属于 crypto 模块,创建:
* ```JavaScript
* var k = new crypto.X509Cert();
* ```
*
*/
declare class Class_X509Cert extends Class_object {
/**
* @description X509Cert 构造函数
*/
constructor();
/**
* @description X509Cert 构造函数,加载一个 DER 格式的证书
* @param derCert DER 格式的证书
*
*/
constructor(derCert: Class_Buffer);
/**
* @description X509Cert 构造函数,加载一个 CRT/PEM/TXT 格式的证书
*
* load 加载 mozilla 的 certdata,txt, 可于 http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt 下载使用
* @param txtCert CRT/PEM/TXT 格式的证书
*
*/
constructor(txtCert: string);
/**
* @description 加载一个 DER 格式的证书,可多次调用
* @param derCert DER 格式的证书
*
*/
load(derCert: Class_Buffer): void;
/**
* @description 加载一个 CRT/PEM/TXT 格式的证书,可多次调用
*
* load 加载 mozilla 的 certdata,txt, 可于 http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt 下载使用
* @param txtCert CRT/PEM/TXT 格式的证书
*
*/
load(txtCert: string): void;
/**
* @description 加载一个 CRT/PEM/DER/TXT 格式的证书,可多次调用
*
* loadFile 加载 mozilla 的 certdata,txt, 可于 http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt 下载使用
* @param filename 证书文件名
*
*/
loadFile(filename: string): void;
/**
* @description 加载自带的缺省根证书
* 此证书内容源自:http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
*/
loadRootCerts(): void;
/**
* @description 使用当前证书链验证给定的证书
* @param cert 给定需要验证的证书
* @return 如果验证成功则返回 True
*
*/
verify(cert: Class_X509Cert): boolean;
verify(cert: Class_X509Cert, callback: (err: Error | undefined | null, retVal: boolean)=>any): void;
/**
* @description 导出已经加载的证书
* @param pem 指定输出 PEM 格式的撤销证书,缺省为 true
* @return 以数组方式导出证书链
*
*/
dump(pem?: boolean): any[];
/**
* @description 清空已经加载的证书
*/
clear(): void;
/**
* @description 获取证书的版本
*/
readonly version: number;
/**
* @description 获取证书的序列号
*/
readonly serial: string;
/**
* @description 获取证书颁发者的可分辨名称
*/
readonly issuer: string;
/**
* @description 获取证书的主题可分辨名称
*/
readonly subject: string;
/**
* @description 获取证书的生效时间
*/
readonly notBefore: Date;
/**
* @description 获取证书的到期时间
*/
readonly notAfter: Date;
/**
* @description 获取证书是否是 ca 证书
*/
readonly ca: boolean;
/**
* @description 获取证书的 pathlen
*/
readonly pathlen: number;
/**
* @description 获取证书的使用范围
*
* 结果为全部或部分以下内容:digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign
*
*/
readonly usage: string;
/**
* @description 获取证书的 Netscape 证书类型
*
* 结果为全部或部分以下内容:client, server, email, objsign, reserved, sslCA, emailCA, objCA
*
*/
readonly type: string;
/**
* @description 获取证书的公钥
*/
readonly publicKey: Class_PKey;
/**
* @description 获取证书链中得下一个证书
*/
readonly next: Class_X509Cert;
}