模块 ssl

ssl/tls 模块

对象

Socket

创建一个 SslSocket 对象,参见 SslSocket

SslSocket ssl.Socket;

Handler

创建一个 SslHandler 对象,参见 SslHandler

SslHandler ssl.Handler;

Server

创建一个 SslServer 对象,参见 SslServer

SslServer ssl.Server;

静态函数

connect

创建一个 SslSocket 对象并建立连接

static Stream ssl.connect(String url,
    Integer timeout = 0) async;

调用参数:

返回结果:


setClientCert

设定缺省客户端证书

static ssl.setClientCert(X509Cert crt,
    PKey key);

调用参数:


loadClientCertFile

从文件中加载缺省客户端证书

static ssl.loadClientCertFile(String crtFile,
    String keyFile,
    String password = "");

调用参数:


loadRootCerts

加载自带的缺省根证书,等同于 ssl.ca.loadRootCerts

static ssl.loadRootCerts();

此证书内容源自:http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt

静态属性

ca

X509Cert, 全局证书,用于 ssl 客户端模式验证服务器证书

static readonly X509Cert ssl.ca;

verification

Integer, 设定证书验证模式,缺省为 VERIFY_REQUIRED

static Integer ssl.verification;

min_version

Integer, 设定最低版本支持,缺省 ssl3

static Integer ssl.min_version;

max_version

Integer, 设定最高版本支持,缺省 tls1_1

static Integer ssl.max_version;

常量

VERIFY_NONE

证书验证模式,不验证

const ssl.VERIFY_NONE = 0;

VERIFY_OPTIONAL

证书验证模式,可选验证,允许验证不通过

const ssl.VERIFY_OPTIONAL = 1;

VERIFY_REQUIRED

证书验证模式,要求验证,验证不通过则中断

const ssl.VERIFY_REQUIRED = 2;

BADCERT_EXPIRED

证书验证结果,证书超时

const ssl.BADCERT_EXPIRED = 1;

BADCERT_REVOKED

证书验证结果,证书被撤销

const ssl.BADCERT_REVOKED = 2;

BADCERT_CN_MISMATCH

证书验证结果,证书名错误

const ssl.BADCERT_CN_MISMATCH = 4;

BADCERT_NOT_TRUSTED

证书验证结果,证书不可信

const ssl.BADCERT_NOT_TRUSTED = 8;

ssl3

ssl 协议版本 ssl 3.0

const ssl.ssl3 = 0;

tls1

ssl 协议版本 tls 1.0

const ssl.tls1 = 1;

tls1_1

ssl 协议版本 tls 1.1

const ssl.tls1_1 = 2;

tls1_2

ssl 协议版本 tls 1.2

const ssl.tls1_2 = 3;