2

我正在使用cordovaAeroGear PushPlugin创建一个android 应用程序, 它使用https与统一推送服务器进行通信。我在我的服务器中使用有效的CA 认证支持(TLS1.2)。

在我的设备中执行时 cordova run android返回此错误:

error javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

知道,我在以下位置添加了证书:

平台/android/res/raw/myCert.crt

而 config.xml 中的这个标签:

  <platform name="android">
    <network-security-config>
        <base-config cleartextTrafficPermitted="true">
            <trust-anchors>
                <certificates src="myCert.crt" />
            </trust-anchors>
        </base-config>
    </network-security-config>
    </platform>

我遵循了几个提出的解决方案,但不适用于我的情况。

感谢帮助。

4

1 回答 1

1

这是 UPS widfly 服务器中的证书生成问题。

如果您有trsut 提供商提供的证书颁发机构CA。

按照步骤:

1-您必须首先使用以下命令将提供商提供的 PEM 证书转换为 p12:

$ openssl pkcs12 -export -out yourCertificategenerate.p12 -inkey yourCertificatekey.key  -in certifacteDelivedFromProvider.pem -certfile yourCertificateFromProvider.pem // file contains -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----)

2-使用此命令创建本地密钥库(yourCertificategenerate.jks),并使用此命令将其复制到独立/配置目录:

$ keytool -importkeystore -deststorepass yourpassword -destkeypass yourpassword -destkeystore yourNewCertificateGenerate.jks -srckeystore yourCertificateGenerate.p12 -srcstoretype PKCS12 -srcstorepass ""

检查认证链

openssl s_client -connect yourDomaine.com -debug

如果一切正常,你应该有这样的东西: 在此处输入图像描述

于 2017-07-07T13:09:05.180 回答