對象SslSocket
ssl網路介面物件
SslSocket 屬於ssl模組,創建方法
1var s = new ssl.Socket();
繼承關係
建構函數
SslSocket
SslSocket 建構函數,建立一個新的SslSocket 對象
1new SslSocket(Array certs = []);
呼叫參數:
- certs: Array, 伺服器憑證列表
certs 格式為:
1
2
3
4
5
6
7
8
9
10
11[{
name: "fibjs.org",
crt: [X509Cert object],
key: [PKey object]
},
{
name: "*.fibjs.org",
crt: [X509Cert object],
key: [PKey object]
}
]
SslSocket 建構函數,建立一個新的SslSocket 對象
1
2new SslSocket(X509Cert crt,
PKey key);
呼叫參數:
成員屬性
verification
Integer, 設定憑證驗證模式,預設為VERIFY_REQUIRED
1Integer SslSocket.verification;
ca
X509Cert, 憑證鏈,客戶端模式connect 時自動引用ssl.ca,伺服器模式accept 產生SslSocket 自動引用目前SslSocket 的ca
1readonly X509Cert SslSocket.ca;
peerCert
X509Cert, 連接對方的證書
1readonly X509Cert SslSocket.peerCert;
hostname
String, 連線的主機名
1readonly String SslSocket.hostname;
stream
1readonly Stream SslSocket.stream;
fd
Integer, 查詢Stream對應的文件描述符值, 由子類實現
1readonly Integer SslSocket.fd;
成員函數
connect
在給定的連接上連接ssl連接,客戶端模式
1
2Integer SslSocket.connect(Stream s,
String server_name = "") async;
呼叫參數:
- s:Stream, 給定的底層連接
- server_name: String, 指定伺服器名稱,可預設省
回傳結果:
- Integer, 連線成功回傳0,憑證可選驗證時,驗證不成功則回傳非0,詳細錯誤見ssl模組
accept
在給定的連接上接收一個ssl連接,並產生一個新的SslSocket
1SslSocket SslSocket.accept(Stream s) async;
呼叫參數:
- s:Stream, 給定的底層連接
回傳結果:
- SslSocket, 傳回新建立的SslSocket 對象
read
從流內讀取指定大小的數據
1Buffer SslSocket.read(Integer bytes = -1) async;
呼叫參數:
- bytes: Integer, 指定要讀取的資料量,預設為讀取隨機大小的資料區塊,讀取的資料尺寸取決於設備
回傳結果:
- Buffer, 傳回從流內讀取的數據,若無數據可讀,或連線中斷,則傳回null
write
將給定的資料寫入流
1SslSocket.write(Buffer data) async;
呼叫參數:
- data:Buffer, 給定要寫入的數據
flush
將檔案緩衝區內容寫入實體設備
1SslSocket.flush() async;
close
關閉目前流對象
1SslSocket.close() async;
copyTo
複製流資料到目標流中
1
2Long SslSocket.copyTo(Stream stm,
Long bytes = -1) async;
呼叫參數:
- stm:Stream, 目標流對象
- bytes: Long, 複製的位元組數
回傳結果:
- Long, 傳回複製的位元組數
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String SslSocket.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value SslSocket.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值