WSO2 Android代理证书

WSO2 Android代理证书,android,certificate,wso2,mdm,Android,Certificate,Wso2,Mdm,我正在使用WSO2的Enterprise Mobility Manager尝试将设备连接到它 我遵循了WSO2文档中的所有说明。以下是我所做的: 我遵照客户的指示: 其中包括从中创建的证书创建.bks文件。我完成了步骤2、3、4、5、6、7和11 然后,我按照中的说明使用ca_cert.pem和ca.p12创建一个.bks文件,我将其重命名为emm_truststore.bks,并按照说明添加到我的项目中 客户端仍有159个警告和0个错误。。。这些问题需要解决吗?我已经按原样导出了项目。大多

我正在使用WSO2的Enterprise Mobility Manager尝试将设备连接到它

我遵循了WSO2文档中的所有说明。以下是我所做的:

  • 我遵照客户的指示:
其中包括从中创建的证书创建.bks文件。我完成了步骤2、3、4、5、6、7和11

然后,我按照中的说明使用ca_cert.pem和ca.p12创建一个.bks文件,我将其重命名为emm_truststore.bks,并按照说明添加到我的项目中

客户端仍有159个警告和0个错误。。。这些问题需要解决吗?我已经按原样导出了项目。大多数警告表示未使用或不推荐使用的方法

  • 我按照指示设置了数据库,一切正常
  • 启动服务器时,它会抛出:
错误-启动tomcat连接器时生命周期异常 原因:org.apcahe.catalina.LifeCycleException:Service.getName():“catalina”;协议处理程序启动失败 错误-初始化thrift传输时出错 错误-初始化授权服务失败

MDM也不起作用

但是,当我返回并撤消客户端设置中的步骤7,并将原始的client-truststore.jks、wso2carbon.jks和wso2mobilemdm.jks文件放在安全文件夹中时,服务器启动时不会出现任何故障。 -我可以访问MDM界面,创建角色和策略,并向我的设备发送电子邮件。 -在我的设备上,我可以访问服务器、下载和安装apk。 -问题在于应用程序和服务器无法通信。“由于连接失败,身份验证失败。是否重试?”

所以我做了一些挖掘,可能的问题是由于以下原因之一:

  • 有一个连接问题
  • 证书不匹配
  • 1) 关于连接,这是我的设置:我正在运行笔记本电脑的服务器(localhost),它通过wifi连接到我们公司的网络。然后将设备连接到同一网络上。为了访问运行在我笔记本电脑上的“服务器”,我使用笔记本电脑的IP。(因此我能够下载apk)。该设备也已通过我们的代理清除。这是问题的可能原因吗


    2) 关于证书,我热情地遵守了指示。然而有一件事仍然困扰着我;当我导出我的项目时,Eclipse会请求一个“密钥库”,然后我会重新创建它。这会影响应用程序还是其他地方的问题?

    好的,从您的描述来看,在第一部分中设置jks文件时,您似乎遇到了问题。在文档中,您必须创建SSL证书。还有CA证书。然后,您需要确保SSL证书需要由CA签名。这样,当您将CA嵌入bks文件时,它将识别通信,因为下划线SSL通道使用CA签名的SSL证书运行。我认为您在第一阶段搞砸的是wso2carbon.jks的关键导入。确保使用现有别名正确导入。如果更改别名,则需要更改更多文件。确保它与我们在repository/conf文件夹中的mdm-config.xml中提供的别名相同。同样的东西也需要导入到客户端信任库中。如果这是正确遵循它将工作。授权问题与此证书问题相关,它无法识别有效的SSL证书

    从编译的角度来看,我不认为这是一个问题,但是安装最新的Android SDK总是更好的

    关于您的第二次尝试,它与证书有关。wso2mobilemdm.jks附带一个预生成的CA。服务器将使用它。但是为了让它与客户端一起工作,您需要从密钥库文件中取出CA。为此,您可以使用OpenSSL获取CA并将其嵌入生成的bks文件中。另一件事是,您可以使用相同的jks文件,并使用。这样,您就可以简单地使用现有的

    尝试设置的最简单方法是使用HTTP而不是HTTPS与Android代理应用程序通信。这样可以工作,但不推荐。这只是为了测试该软件包是否能完美工作。因此,您可以更改Android agent应用程序中的配置条目,即使您在bks中没有任何条目,它也可以正常工作


    希望这有帮助。让我知道这是否适合你

    原来我的问题出在我的证书上。以下是我解决问题的方法:

  • 我将client-truststore.jks和wso2carbon.jks复制到一个文件夹中
  • 在这个文件夹中,我用下面的代码创建了一个批处理文件并执行了它。 *为了让这段代码正常工作,您需要将文件放在C:root中,并将其复制到programfiles下的jre/ext文件夹中。 还要确保在环境变量中安装并设置了SSL以及java的keytool
  • 执行批处理文件时,确保正确设置密码;CA设置为“cacert”,RA设置为“racert”,IA设置为“iacert”。 当您到达KEYSTORE.p12、ca.p12和ra.p12导出时,分别将它们的密码设置为“wso2carbon”、“cacert”和“racert”。 *设置证书的通用名称时,请记住使用服务器IP。 *在client-truststore.jks和wso2carbon.jks中提示覆盖wso2carbon别名时,也要说yes
  • 接下来,将client-truststore.jks、wso2carbon.jks和wso2mobilemdm.jks复制到/repository/resources/security,替换旧的
  • 将生成的emm_truststore.bk复制到应用程序中的res/raw文件夹中,并更新CommonUtilities.java以反映信任库密码(在本例中为“wso2carbon”,如果愿意,请在批处理文件中更改它)
  • 更新您的/repository/conf/mdmco
     openssl genrsa -out ca_private.key 4096
    openssl req -new -key ca_private.key -out ca.csr
    openssl x509 -req -days 365 -in ca.csr -signkey ca_private.key -out ca.crt -extensions v3_ca
    openssl rsa -in ca_private.key -text > ca_private.pem
    openssl x509 -in ca.crt -out ca_cert.pem
    
    openssl genrsa -out ra_private.key 4096
    openssl req -new -key ra_private.key -out ra.csr
    openssl x509 -req -days 365 -in ra.csr -CA ca.crt -CAkey ca_private.key -set_serial 02 -out ra.crt -extensions v3_req
    openssl rsa -in ra_private.key -text > ra_private.pem
    openssl x509 -in ra.crt -out ra_cert.pem
    
    openssl genrsa -out ia.key 4096
    openssl req -new -key ia.key -out ia.csr
    openssl x509 -req -days 730 -in ia.csr -CA ca_cert.pem -CAkey ca_private.pem -set_serial 044324343 -out ia.crt
    
    
    
    openssl pkcs12 -export -out KEYSTORE.p12 -inkey ia.key -in ia.crt -CAfile ca_cert.pem -name "wso2carbon"
    openssl pkcs12 -export -out ca.p12 -inkey ca_private.pem -in ca_cert.pem -name "cacert"
    openssl pkcs12 -export -out ra.p12 -inkey ra_private.pem -in ra_cert.pem -chain -CAfile ca_cert.pem -name "racert" 
    
    
    
    keytool -importkeystore -srckeystore KEYSTORE.p12 -srcstoretype PKCS12 -destkeystore wso2carbon.jks 
    keytool -importkeystore -srckeystore KEYSTORE.p12 -srcstoretype PKCS12 -destkeystore client-truststore.jks
    
    keytool -importkeystore -srckeystore ca.p12 -srcstoretype PKCS12 -destkeystore wso2mobilemdm.jks
    keytool -importkeystore -srckeystore ra.p12 -srcstoretype PKCS12 -destkeystore wso2mobilemdm.jks
    
    set CLASSPATH=%CLASSPATH%;c:\bcprov-ext-jdk15on-1.46.jar
    keytool -importcert -trustcacerts -keystore emm_truststore.bks -storetype bks -storepass wso2carbon -file ca_cert.pem -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath ./