我正在使用cordova和AeroGear 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>我遵循了提出的几个解决方案,但对我的情况不起作用。
谢谢你帮忙。
发布于 2017-07-07 13:09:05
这是UPS宽幅服务器的证书生成问题。
如果您拥有由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如果一切正常,你应该有这样的东西:

https://stackoverflow.com/questions/44432672
复制相似问题