使用bindSecure 去創(chuàng)建一個(gè) HTTPS server.
服務(wù)將會(huì)提供一個(gè)證書給客戶端孕豹。這個(gè)證書鏈和私鑰在 SecurityContext 里面設(shè)置十气,這個(gè)對象通過 bindSecure方法進(jìn)行調(diào)用.
import 'dart:io';
import "dart:isolate";
main() {
SecurityContext context = new SecurityContext();
var chain =
Platform.script.resolve('certificates/server_chain.pem')
.toFilePath();
var key =
Platform.script.resolve('certificates/server_key.pem')
.toFilePath();
context.useCertificateChain(chain);
context.usePrivateKey(key, password: 'dartdart');
HttpServer
.bindSecure(InternetAddress.anyIPv6,
443,
context)
.then((server) {
server.listen((HttpRequest request) {
request.response.write('Hello, world!');
request.response.close();
});
});
}
這里證書和key都是pem文件砸西,他們可以通過OpenSSL工具進(jìn)行生成。
原文鏈接:https://api.dart.dev/be/180499/dart-io/HttpServer-class.html#id_bindSecure
閑話:好久沒寫新文章了竟闪,最近項(xiàng)目中用到需要在手機(jī)上搭一個(gè)小服務(wù)器的功能杖狼,且這個(gè)服務(wù)器要支持https,百度了好久也沒有找到能直接有幫助的文章理朋,特此在這記錄一下,親測可用绿聘。普通的不支持https的代碼就很簡單了,也在上面的那個(gè)鏈接里兽愤。