相关疑难解决方法(0)

如何在Android设备上安装可信CA证书?

我已经创建了自己的CA证书,现在我想在我的Android Froyo设备(HTC Desire Z)上安装它,以便设备信任我的证书.

Android将CA证书存储在其Java密钥库中/system/etc/security/cacerts.bks.我将文件复制到我的计算机,使用portecle 1.5添加了我的证书并将其推回到设备.

现在,Android似乎没有自动重新加载文件.我在几篇博客文章中看到我需要重启设备.这样做会导致文件再次被原始文件覆盖.

我的下一个尝试是通过复制它并使用设置菜单中的相应选项从SD卡安装证书.设备告诉我证书已经安装,但显然它不信任证书.此外,当我尝试将密钥库复制到我的计算机时,我仍然可以找到原始库存cacerts.bks.

那么,在Android 2.2设备上安装我自己的根CA证书作为可信证书的正确方法是什么?有没有办法以编程方式进行?

installation ssl android certificate

122
推荐指数
6
解决办法
39万
查看次数

.Net MAUI Android 无法与 API localhost 通信

我在这里下载了最新的 MAUI 示例: https: //github.com/microsoft/dotnet-podcasts并复制了他们发出请求的确切方式,但我无法通过“意外的流结束错误”:

System.Net.WebException: unexpected end of stream on com.android.okhttp.Address@4c288121
 ---> Java.IO.IOException: unexpected end of stream on com.android.okhttp.Address@4c288121
Run Code Online (Sandbox Code Playgroud)

HttpClient通过工厂方法在 MauiProgram.cs 中初始化AddHttpClient,如下所示(注意 Andorid 的不同 IP 地址):

public static string Base = DeviceInfo.Platform == DevicePlatform.Android ? "http://10.0.2.2" : "https://localhost";
public static string APIUrl = $"{Base}:7096/api/";

builder.Services.AddHttpClient<DishClient>(client => { client.BaseAddress = new Uri(APIUrl); });
Run Code Online (Sandbox Code Playgroud)

android:networkSecurityConfig我已在 AndroidManifest.xml 中包含以下内容(允许 http 流量):

<network-security-config>
  <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)

Xamarin 中的解决方案似乎是使用AndroidClientHandler,但这是在一个已弃用的库中,我无法在 MAUI 中使用它,并且在有效的链接解决方案中没有引用它。 …

.net android maui .net-maui

5
推荐指数
1
解决办法
9181
查看次数

一张自签名证书可以统治所有这些?Chrome,Android和iOS

另一个自签名证书问题,但是我已经尝试了几天,以找到创建自签名证书的最佳/正确方法,该方法将在我的开发环境中适用于最新版本的Chrome,Android和iOS。

对于这些平台中的至少一个,我在这里和其他地方找到的说明已经过时了。

这是我找到的最好的,但仅适用于Chrome和Android。

openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=US/ST=Oklahoma/L=Stillwater/O=My Company/OU=Engineering" -keyout ca.key -out ca.crt
openssl genrsa -out "test.key" 2048
openssl req -new -key test.key -out test.csr -config openssl.cnf
openssl x509 -req -days 3650 -in test.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extensions v3_req -extfile openssl.cnf -out test.crt
openssl x509 -inform PEM -outform DER -in test.crt -out test.der.crt
Run Code Online (Sandbox Code Playgroud)

openssl.cnf的内容:

[req]
default_bits = 2048
encrypt_key  = no # Change to encrypt the private key using des3 or similar …
Run Code Online (Sandbox Code Playgroud)

android openssl google-chrome certificate ios

3
推荐指数
1
解决办法
379
查看次数