我怎样才能让Android Studio中的防火墙生成的SSL证书?

问题描述 投票:0回答:2

我们的新的防火墙提供了一个透明的代理哪些问题自签名SSL证书安全(HTTPS)连接。

Android的工作室让我接受两个证书,我证实。

现有项目建设的罚款。只有当我改变还是在的build.gradle文件中添加依赖关系,出现此错误信息:

Gradle 'MyApp' project refresh failed
Error:Cause: unable to find valid certification path to requested target

有没有办法告诉摇篮插件信任的防火墙生成的SSL证书?

android android-studio android-gradle ssl-certificate firewall
2个回答
0
投票

我发现这个答案工作解决方案/解决方法:

Force Gradle to use HTTP instead of HTTPS

我在两个地方更换jcenter()与Maven {URL “http://jcenter.bintray.com”}。

这种解决方法需要jcenter超过其可能在未来得到禁用出于安全原因,HTTP访问。


0
投票

降级安全应始终避免;)

一个解决方案为每Jetbrains后:

嗯,这是一个Jetbrains的/ IDEA问题。尽管能够挑gradle这个包装的Java安装,包装的抓取还在与该IDE当前使用的JRE做......即使从预防开始包装。就应该及时到信任证书就像在IDE其他地方,但事实并非如此。在此期间我已经发布指令来解决这个问题对于那些谁需要它。 (这个问题在2017年2月1日仍然存在)

基于对后我写这个bash脚本的评论:

#!/bin/bash

set -eu

CA_PEM_FILE="${1?Missing path to certificate file}"
ANDROID_STUDIO_PATH="${2:-/opt/android-studio/jre/jre/lib/security}"

if [ -f "${CA_PEM_FILE}" ]
    then
        printf "\n>>> ADDING A CERTIFICATE TO ANDROID STUDIO <<<\n"

        # https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000094584-IDEA-Ultimate-2016-3-4-throwing-unable-to-find-valid-certification-path-to-requested-target-when-trying-to-refresh-gradle
        cd "${ANDROID_STUDIO_PATH}" && \
        printf "changeit\nyes\n" | keytool -keystore cacerts -importcert -alias ProxyCertificate -file "${CA_PEM_FILE}" && \

        printf "\n >>> CERTICATE ADDED SUCCESEFULY<<<\n"

    else
        printf "\n >>> FATAL ERROR: Certificate not found in path ${CA_PEM_FILE} <<<\n"
fi

调用,如:

sudo ./add-certificate-to-android-studio.sh /etc/ssl/certs/ProxyCA.pem

如果在一个位置安装了Android的工作室从/opt/android-studio不同,那么你必须调用,如:

sudo ./add-certificate-to-android-studio.sh /etc/ssl/certs/ProxyCA.pem /android/path
© www.soinside.com 2019 - 2024. All rights reserved.