小编Aid*_*n64的帖子

android:确定范围内wifi网络的安全类型(不连接它们)

我可以枚举范围内的所有wifi网络(使用startScan + SCAN_RESULTS_AVAILABLE_ACTION + getScanResults)并获取其SSID和BSSID值,但我无法弄清楚如何确定每个网络的安全类型.

在我的主要对象中:

    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
    registerReceiver(scanReceiver, intentFilter);
    ((WifiManager)getSystemService(Context.WIFI_SERVICE)).startScan();
Run Code Online (Sandbox Code Playgroud)

在我的scanReceiver对象中:

public void onReceive(Context c, Intent intent) {
    if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(intent.getAction())){
        mainObject.scanComplete();
    }
}
Run Code Online (Sandbox Code Playgroud)

再次在我的主要对象中:

public void scanComplete()
{
    List<ScanResult> networkList = ((WifiManager)getSystemService.(Context.WIFI_SERVICE)).getScanResults();
    for (ScanResult network : networkList)
    {
        <do stuff>
    }
}
Run Code Online (Sandbox Code Playgroud)

代码工作,因为scanComplete最终被调用,我可以成功枚举所有附近的无线网络并获得他们的SSID和BSSID,但我无法弄清楚如何确定他们的安全类型.

有没有办法做到这一点?

提前致谢.

security android wifi android-wifi

22
推荐指数
3
解决办法
2万
查看次数

如何转储 Android App Bundle 的签名?

我正在将我的 CI 过程从生成 APK 文件切换到 App Bundle。我的管道中的一个阶段将在生成已签名的二进制文件后,转储签名并验证 APK 上的签名,以确保在继续之前正确签名。

> apksigner verify --print-certs my-signed-binary.apk

Signer #1 certificate DN: CN=<NAME>, OU=<GROUP>, O=<COMPANY>, L=<CITY>, ST=<STATE>, C=<COUNTRY>
Signer #1 certificate SHA-256 digest: <DIGEST1>
Signer #1 certificate SHA-1 digest: <DIGEST2>
Signer #1 certificate MD5 digest: <DIGEST3>
Run Code Online (Sandbox Code Playgroud)

一旦生成,是否有等同于在整个 App Bundle 上转储签名的方法?

我尝试使用 jarsigner,但最终输出了数百行。

> jarsigner -verbose -verify -certs my-signed-binary.aab

...

smk       12 Wed Dec 31 16:00:00 PST 1969 base/assets.pb

      >>> Signer
      X.509, CN=<NAME>, OU=<GROUP>, O=<ORGANIZATION>, L=<CITY>, ST=<STATE>, C=<COUNTRY> (myapp)
      [certificate is valid from 5/31/13 1:27 …
Run Code Online (Sandbox Code Playgroud)

jarsigner android-app-bundle

8
推荐指数
1
解决办法
1297
查看次数