java 生成证书 android_生成android自签名证书流程

There is a dearth of SDK documentation on how to work with SSL connections on Android with self-signed certificate. Here is a method that stores a self-signed certificate in the application resource and then later uses that certificate for SSL connections.

1. We create a self-signed server certificate for our SSL server:

keytool -genkey -dname "cn=ssltest, ou=test, o=example, c=US"

-alias ssltest -keypass ssltest -keystore c:\test\ssltest.keystore

-storepass ssltest -validity 180

2. We export the certificate to a file:

keytool -export -alias ssltest -keystore c:\test\ssltest.keystore

-file c:\test\ssltest.cer -storepass ssltest -keypass ssltest

3. Since Android uses the JCEprovider from Bouncy Castle, we download the provider jar bcprov-jdk16-145.jar from BC and store it at C:\androidproject\libs.

4. Now, we import the server certificate to our Android project as a raw resource:

keytool -import -alias ssltestcert -file C:\test\ssltest.cer

-keypass ssltestcert -keystore C:\androidproject\res\raw\ssltestcert

-storetype BKS -storepass ssltestcert

-providerClass org.bouncycastle.jce.provider.BouncyCastleProvider

-providerpath c:\androidproject\libs\bcprov-jdk16-145.jar

Note that we give it a store type BKS.

If you use the Eclipse ADK, the ADK will automatically create a resource idssltestcert after you refresh the project.

5. We can now use the server certificate in our Java program:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值