HarmonyOS 鸿蒙Next中WAPI证书安装和WIFI连接上遇到一些问题

HarmonyOS 鸿蒙Next中WAPI证书安装和WIFI连接上遇到一些问题 【问题描述】:在watch 5/H7556上准备开发一个app,此app核心功能是管理并链接WAPI网关,目前已经拥有了一些系统级权限,但是在WAPI证书安装和WIFI连接上遇到一些问题。 以下权限我们已经通过系统预装的方式获得了权限:

"requestPermissions": [
      {
        //网络 normal
        "name": "ohos.permission.INTERNET",
      },
      {
        //允许应用配置Wi-Fi设备 normal
        "name": "ohos.permission.SET_WIFI_INFO"
      },
      {
        //允许应用获取Wi-Fi信息。 normal
        "name": "ohos.permission.GET_WIFI_INFO"
      },
      {
        //配置Wi-Fi system_basic
        "name": "ohos.permission.SET_WIFI_CONFIG"
      },
      {
        //允许应用获取Wi-Fi配置。 system_basic
        "name": "ohos.permission.GET_WIFI_CONFIG"
      },
      {
        //允许应用管理Wi-Fi的连接。 system_basic
        "name": "ohos.permission.MANAGE_WIFI_CONNECTION"
      },
      {
        //允许应用管理Wi-Fi的连接。 system_basic
        "name": "ohos.permission.MANAGE_ENTERPRISE_WIFI_CONNECTION"
      },
      {
        //允许应用获取运行锁,保证应用在后台的持续运行。 normal
        "name": "ohos.permission.RUNNING_LOCK"
      },
      {
        //允许Service Ability在后台持续运行。  normal
        "name": "ohos.permission.KEEP_BACKGROUND_RUNNING"
      },
      {
        //允许应用存储持久化的数据,该数据直到设备恢复出厂设置或重装系统才会被清除。   normal
        "name": "ohos.permission.STORE_PERSISTENT_DATA"
      },
      {
        //允许应用在后台运行时获取设备位置信息。 normal
        "name": "ohos.permission.LOCATION_IN_BACKGROUND",
        "reason": "$string:location_in_background",
        "usedScene": {
          "abilities": [
            "DefaultAbility"
          ],
          "when": "always"
        }
      },
      {
        //允许应用获取设备位置信息。  normal
        "name": "ohos.permission.LOCATION",
        "reason": "$string:location",
        "usedScene": {
          "abilities": [
            "DefaultAbility"
          ],
          "when": "always"
        }
      },
      {
        //允许应用获取设备模糊位置信息。  normal
        "name": "ohos.permission.APPROXIMATELY_LOCATION",
        "reason": "$string:approximately_location",
        "usedScene": {
          "abilities": [
            "DefaultAbility"
          ],
          "when": "always"
        }
      },
      {
        //允许应用进行查询证书及私有凭据等操作。   normal
        "name": "ohos.permission.ACCESS_CERT_MANAGER"
      },
      {
        //允许应用管理用户CA证书。 system_basic
        "name": "ohos.permission.ACCESS_ENTERPRISE_USER_TRUSTED_CERT"
      },
      {
        //安装删除证书  system_basic
        "name": "ohos.permission.ACCESS_USER_TRUSTED_CERT"
      },
      {
        //证书管理 system_basic
        "name": "ohos.permission.ENTERPRISE_MANAGE_CERTIFICATE"
      },
      {
        //允许设备管理应用设置系统时间。 system_basic
        "name": "ohos.permission.ENTERPRISE_SET_DATETIME"
      },
      {
        //允许设备管理应用设置网络信息。 system_basic
        "name": "ohos.permission.ENTERPRISE_SET_NETWORK"
      },
      {
        //允许设备管理应用设置和查询WiFi信息。 system_basic
        "name": "ohos.permission.ENTERPRISE_SET_WIFI"
      },
      {
        "name": "ohos.permission.ENTERPRISE_RESET_DEVICE"
        //允许设备管理应用恢复设备出厂设置。 system_basic
      },
      {
        "name": "ohos.permission.MODIFY_AUDIO_SETTINGS"
        //允许应用修改音频设置。 normal
      },
      {
        "name": "ohos.permission.VIBRATE"
        //马达震动 normal
      },
      {
        "name": "ohos.permission.MICROPHONE",
        //允许应用使用麦克风。  normal
        "reason": "$string:microphone",
        "usedScene": {}
      },
      {
        "name": "ohos.permission.READ_HEALTH_DATA",
        //允许应用读取用户的健康数据。  normal
        "reason": "$string:read_health_data",
        "usedScene": {}
      }
    ],

出现的问题:

  1. 证书安装报错

调用该方法安装证书:

certificateManager.installUserTrustedCertificateSync(certData, certificateManager.CertScope.CURRENT_USER)

出现报错: 17500001

根据错误码,开发文档中只说了:检查内部运行情况是否正常。不清楚具体该如何解决问题。

  1. WLAN配置信息参数疑问:
WifiDeviceConfig = {

        ssid: wifi.ssid,

        preSharedKey: '',

        securityType: wifi.securityType,

        bssid: wifi.bssid,

        bssidType: wifi.bssidType,

        wapiConfig: {

          wapiPskType: wapiPskType,

          wapiAsCert: asCerPath,

          wapiUserCert: userCerPath,

        },

}

不清楚 preSharedKey 在 WAPI身份验证且无需密码 情况下如何传参,不清楚 wapiPskType、wapiAsCert、wapiUserCert 的传参要求

【问题现象】: 2. 请帮忙确认实现路径上是否有偏差,如果有能否详细阐述下具体做法,例如实现流程和具体调用的函数。

【版本信息】:暂无

【复现代码】:暂无

【尝试解决方案】:暂无


更多关于HarmonyOS 鸿蒙Next中WAPI证书安装和WIFI连接上遇到一些问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

开发者你好,请提供以下信息:

1.问题现象(如:报错日志(获取方式:xxx)、异常截图、问题背景),请描述一下您的问题场景,具体在哪个环节碰到了问题;

2.复现代码(如最小复现demo),是否有问题代码片段,或者代码demo可以提供一下;

3.版本信息(如:开发工具、手机系统版本信息);

更多关于HarmonyOS 鸿蒙Next中WAPI证书安装和WIFI连接上遇到一些问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中安装WAPI证书需确保证书文件为.cer或.pem格式,通过“设置 > 安全和隐私 > 更多安全设置 > 安装证书”导入。若WIFI连接失败,请检查WAPI开关是否开启,并确认接入点支持WAPI加密。证书安装后需重启设备激活。网络环境需符合WAPI标准,证书与接入点匹配方可成功连接。

针对您遇到的WAPI证书安装和WiFi连接问题,以下是具体分析:

1. 证书安装错误17500001

  • 该错误码通常表示证书数据格式或权限验证异常
  • 请确认以下几点:
    • certData必须为有效的X.509证书二进制数据
    • 证书文件需确保完整且未损坏
    • 虽然已申请ACCESS_USER_TRUSTED_CERT权限,但系统预装应用可能需要额外签名授权
    • 建议先通过系统设置手动安装相同证书,验证证书本身有效性

2. WAPI配置参数说明 对于WAPI无密码认证场景:

  • preSharedKey:应传空字符串""
  • wapiPskType:设置为WapiPskType.WAPI_PSK_TYPE_ASCII(当使用ASCII格式PSK时)或对应枚举值
  • wapiAsCert:AS证书文件路径(需确保应用有权限访问)
  • wapiUserCert:用户证书文件路径(需确保应用有权限访问)

实现流程建议

  1. 先通过certificateManager.verifyCertSync()验证证书有效性
  2. 使用addDeviceConfig()添加WIFI配置时,确保wapiConfig结构完整
  3. 连接时调用connectToDevice()并指定对应networkId

注意:WAPI证书需提前安装到系统证书库,且设备必须支持WAPI硬件认证。

回到顶部