我正在配置wso2-emm,我坚持的步骤是android配置,正如教程中所说的:
如果SSL证书是自签名的,则使用为iOS生成的CA证书PEM文件创建与Android兼容的BKS文件。
我遵循关于iOS的说明,但它创建的是.jks文件,而不是安卓所需的.bks文件。我尝试使用Portecle将.jks文件转换为.bks,但我得到了以下错误:
java.security.UnrecoverableKeyException : Cannot recover key.如何创建与Android兼容的BKS文件?
发布于 2015-04-10 10:35:18
请遵循以下步骤:步骤2到步骤8 https://docs.wso2.com/display/EMM110/iOS+Server+Configurations#iOSServerConfigurations-step2
之后,可以使用以下命令生成BKS文件:
keytool -noprompt -import -v -trustcacerts -alias 'openssl x509 -inform PEM -subject_hash -noout -in ca_cert.pem‘-file ca_cert.pem -keystore emm_truststore.bks -storetype bcprov-jdk16 16-146.jar’
注意:您需要在文件夹中包含bcprov-jdk16-146.jar,以便生成上面的bks文件。
生成emm_truststore.bks后,将其复制到Android /raw文件夹中。在android源代码中,CommonUtilities.java将SERVER_PORT改为9443,SERVER_PROTOCOL更改为https://
发布于 2015-04-09 15:03:35
一个问题是用于读取私钥的密码是错误的。您是否对密钥存储库和密钥条目使用了相同的密码?
另一个问题可能是几年前BouncyCastle库更改了BKS文件格式,因此您需要旧的Bouncy城堡版本。
Android使用的是可以由BKSv1创建的旧KeyStore资源管理器。
发布于 2015-05-11 12:08:51
我认为不可能使用Portecle直接将jks文件转换为bks格式。但是您可以使用为获得iOS的CA证书而生成的密钥文件& pem文件。为此,您需要使用Portecle创建一个新的BKS格式密钥存储库&然后导入键区的pem文件&然后导入密钥文件。
https://stackoverflow.com/questions/29540132
复制相似问题