我有这个要求,其中应用程序是尘土飞扬的,所以端点是按公司分配的,没有集中的东西。问题是该应用程序需要允许自签名证书。
很明显,我不能仅在应用程序中对证书进行硬编码,并使用可用的摘要片段来完成此操作。
因此,是否有办法解决SSL不受信任的问题,然后向用户显示“此证书不受信任?等等。接受吗?”。
TLDR; 如何在OkHttp中获取有问题的证书内容,然后将其保存在sslSocketFactory子类中?
答案 0 :(得分:0)
您可以修改以下示例代码
void initializeStickerView() {
mDensity = getResources().getDisplayMetrics().density;
actionBarHeight = (int) (110 * mDensity);
bottombarHeight = (int) (60 * mDensity);
viewWidth = getResources().getDisplayMetrics().widthPixels;
viewHeight = getResources().getDisplayMetrics().heightPixels - actionBarHeight - bottombarHeight;
viewRatio = (double) viewHeight / (double) viewWidth;
bmRatio = (double) (1920) / (double) (1080);
if (bmRatio < viewRatio) {
bmWidth = viewWidth;
bmHeight = (int) (((double) viewWidth) * ((double) (1920) / (double) (1080)));
} else {
bmHeight = viewHeight;
bmWidth = (int) (((double) viewHeight) * ((double) (1080) / (double) (1920)));
}
final RelativeLayout.LayoutParams lparams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lparams.addRule(RelativeLayout.CENTER_IN_PARENT);
lparams.height = bmHeight;
lparams.width = bmWidth;
stickerView.setLayoutParams(lparams);
stickerView.setBackgroundColor(Color.WHITE);
stickerView.setLocked(false);
stickerView.setConstrained(true);
}
不需要将其添加到密钥库中,您应该可以在运行密钥库验证之前接受它。 n.b.该示例可能应该回到默认逻辑,但它应该使您入门。