/// /// /// /// /** * @description ssl 网络套接口对象 * * SslSocket 属于 ssl 模块,创建方法 * ```JavaScript * var s = new ssl.Socket(); * ``` * */ declare class Class_SslSocket extends Class_Stream { /** * @description SslSocket 构造函数,创建一个新的 SslSocket 对象 * * certs 格式为: * ```JavaScript * [ * { * name: "fibjs.org", * crt: [X509Cert object], * key: [PKey object] * }, * { * name: "*.fibjs.org", * crt: [X509Cert object], * key: [PKey object] * } * ] * ``` * @param certs 服务器证书列表 * */ constructor(certs?: any[]); /** * @description SslSocket 构造函数,创建一个新的 SslSocket 对象 * @param crt X509Cert 证书,用于客户端验证服务器 * @param key PKey 私钥,用于与客户端会话 * */ constructor(crt: Class_X509Cert, key: Class_PKey); /** * @description 设定证书验证模式,缺省为 VERIFY_REQUIRED */ verification: number; /** * @description 证书链,客户端模式 connect 时自动引用 ssl.ca,服务器模式 accept 生成 SslSocket 自动引用当前 SslSocket 的 ca */ readonly ca: Class_X509Cert; /** * @description 连接对方的证书 */ readonly peerCert: Class_X509Cert; /** * @description 连接的主机名 */ readonly hostname: string; /** * @description 查询消息 ssl 建立时的下层流对象 */ readonly stream: Class_Stream; /** * @description 在给定的连接上连接 ssl 连接,客户端模式 * @param s 给定的底层连接 * @param server_name 指定服务器名称,可缺省 * @return 连接成功返回 0,证书可选验证时,验证不成功则返回非 0,详细错误见 ssl 模块 * */ connect(s: Class_Stream, server_name?: string): number; connect(s: Class_Stream, server_name?: string, callback?: (err: Error | undefined | null, retVal: number)=>any): void; /** * @description 在给定的连接上接收一个 ssl 连接,并生成一个新的 SslSocket * @param s 给定的底层连接 * @return 返回新建立的 SslSocket 对象 * */ accept(s: Class_Stream): Class_SslSocket; accept(s: Class_Stream, callback: (err: Error | undefined | null, retVal: Class_SslSocket)=>any): void; }