HarmonyOS鸿蒙Next在watch 5/H7556上开发管理并链接WAPI网关的app时遇到WAPI证书安装和WIFI连接问题

HarmonyOS鸿蒙Next在watch 5/H7556上开发管理并链接WAPI网关的app时遇到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 的传参要求 【问题现象】:

  1. 请解答上面提出的2点问题

【版本信息】:不涉及

【复现代码】:不涉及

【尝试解决方案】:不涉及


更多关于HarmonyOS鸿蒙Next在watch 5/H7556上开发管理并链接WAPI网关的app时遇到WAPI证书安装和WIFI连接问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS Next手表开发中,WAPI证书需使用系统安全接口导入。证书格式需为PEM或DER,通过KeyStore API处理。WIFI连接调用@ohos.net.wifi模块,配置WAPI参数时指定认证类型为WAPI,并绑定证书别名。常见问题包括证书链不完整或设备未启用WAPI硬件支持。连接时需确保网关SSID与证书域名匹配,且系统时间正确。

更多关于HarmonyOS鸿蒙Next在watch 5/H7556上开发管理并链接WAPI网关的app时遇到WAPI证书安装和WIFI连接问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您在HarmonyOS Next上开发WAPI网关管理应用时遇到的问题,以下是具体分析:

1. 证书安装报错17500001 该错误码通常表示系统内部证书管理模块运行异常。建议按以下步骤排查:

  • 确认证书数据格式符合X.509标准且未损坏
  • 检查证书文件路径权限,确保应用可访问
  • 验证CURRENT_USER作用域在当前设备环境是否可用
  • 尝试分步调试:先调用listCertificatesSync确认证书管理器状态正常

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

  • preSharedKey应传空字符串(如您已配置)
  • wapiPskType需设置为WapiPskType.PSK(若使用预共享密钥)或根据认证方式选择对应枚举值
  • wapiAsCert/wapiUserCert应传入已安装的证书别名(alias)或有效证书路径
  • 确保AS证书和用户证书已通过证书管理器正确安装到系统

补充建议:

  • 使用getWifiDeviceConfigsSync验证配置参数是否被系统正确解析
  • 检查WAPI网络环境是否要求特定证书格式(如DER/PEM)
  • 通过WifiDeviceConfig.keyMgmt字段确认WAPI认证模式设置正确

以上方案基于HarmonyOS Next的WAPI认证机制设计,实际效果需结合设备网络环境验证。

回到顶部