使用NanoHttpd在Android设备创建https/wss服务端

本文介绍如何在Android设备上使用NanoHttpd搭建HTTPS/WSS服务。主要内容包括生成及转换KBS证书的方法、如何在NanoHttpd中配置并使用这些证书以实现安全连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用NanoHttpd在Android设备创建https/wss服务端

NanoHttpd提供创建轻量级Http服务端,具体介绍文档见项目的地址:https://github.com/NanoHttpd/nanohttpd

如何创建服务端https/wss,在这里不做介绍,详细见文章下面提供的Demo。

生成kbs证书

证书分官方颁发的证书和自签名的证书,如果使用自签名证书,在用浏览器访问时会提示网站不收信任或者直接不可访问,需要将网址加入到受信任的网站才可以访问。
由于android只支持kbs证书,所以需要将证书转换格式,这里推荐使用portecle。当然也可以使用openssl+keytool工具进行转换,这里不做介绍。进入portecle下载地址,下载完成后,右键打开即可。导入待转换的证书,选择转换为KBS-V1后保存。


NanoHttpd中加入证书

在Android项目路径下新建raw文件夹,将转换好的kbs文件复制粘贴到raw目录下。
 

        InputStream keystoreStream = MainApplication.getContext().getResources().openRawResource(id);
        KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
        keyStore.load(keystoreStream, password.toCharArray());
        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
        keyManagerFactory.init(keyStore, password.toCharArray());
        mNanoHttpService.makeSecure(NanoHTTPD.makeSSLSocketFactory(keyStore, keyManagerFactory), null);






 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值