模块 ssl
ssl/tls 模块,模块别名:tls
对象
Socket
创建一个 SslSocket 对象,参见 SslSocket
1SslSocket ssl.Socket;
Handler
创建一个 SslHandler 对象,参见 SslHandler
1SslHandler ssl.Handler;
Server
创建一个 SslServer 对象,参见 SslServer
1SslServer ssl.Server;
静态函数
connect
创建一个 SslSocket 对象并建立连接
1
2static Stream ssl.connect(String url,
Integer timeout = 0) async;
调用参数:
- url: String, 指定连接的协议,可以是:ssl://host:port
- timeout: Integer, 指定超时时间,单位是毫秒,默认为0
返回结果:
创建一个 SslSocket 对象并建立连接
1
2
3
4static Stream ssl.connect(String url,
X509Cert crt,
PKey key,
Integer timeout = 0) async;
调用参数:
- url: String, 指定连接的协议,可以是:ssl://host:port
- crt: X509Cert, 证书,用于发送给服务器验证客户端
- key: PKey, 私钥,用于与客户端会话
- timeout: Integer, 指定超时时间,单位是毫秒,默认为0
返回结果:
创建一个 SslSocket 对象并建立连接
1
2
3
4
5static Stream ssl.connect(String url,
Integer verification,
X509Cert crt,
PKey key,
Integer timeout = 0) async;
调用参数:
- url: String, 指定连接的协议,可以是:ssl://host:port
- verification: Integer, 证书验证模式
- crt: X509Cert, 证书,用于发送给服务器验证客户端
- key: PKey, 私钥,用于与客户端会话
- timeout: Integer, 指定超时时间,单位是毫秒,默认为0
返回结果:
setClientCert
设定缺省客户端证书
1
2static ssl.setClientCert(X509Cert crt,
PKey key);
调用参数:
loadRootCerts
加载自带的缺省根证书,等同于 ssl.ca.loadRootCerts
1static ssl.loadRootCerts();
静态属性
ca
X509Cert, 全局证书,用于 ssl 客户端模式验证服务器证书
1static readonly X509Cert ssl.ca;
verification
Integer, 设定证书验证模式,缺省为 VERIFY_REQUIRED
1static Integer ssl.verification;
常量
VERIFY_NONE
证书验证模式,不验证
1const ssl.VERIFY_NONE = 0;
VERIFY_OPTIONAL
证书验证模式,可选验证,允许验证不通过
1const ssl.VERIFY_OPTIONAL = 1;
VERIFY_REQUIRED
证书验证模式,要求验证,验证不通过则中断
1const ssl.VERIFY_REQUIRED = 2;
BADCERT_EXPIRED
证书验证结果,证书超时
1const ssl.BADCERT_EXPIRED = 1;
BADCERT_REVOKED
证书验证结果,证书被撤销
1const ssl.BADCERT_REVOKED = 2;
BADCERT_CN_MISMATCH
证书验证结果,证书名错误
1const ssl.BADCERT_CN_MISMATCH = 4;
BADCERT_NOT_TRUSTED
证书验证结果,证书不可信
1const ssl.BADCERT_NOT_TRUSTED = 8;