https双向认证 CA认证

CA证书认证:http://blog.csdn.net/langeldep/article/details/54865265

keytool -genkeypair -alias client -keyalg RSA -validity 3650 -keypass aaaa -storepass aaaa -keystore client.jks
keytool -genkeypair -alias server -keyalg RSA -validity 3650 -keypass bbbb -storepass bbbbb -keystore server.keystore

keytool -export -alias client -file client.cer -keystore client.jks -storepass aaaa
keytool -export -alias server -file server.cer -keystore server.keystore -storepass bbbbb

将客户端证书导入服务端keystore中,再将服务端证书导入客户端keystore中, 一个keystore可以导入多个证书,生成证书列表。
生成客户端信任证书库(由服务端证书生成的证书库):
keytool -import -v -alias server -file server.cer -keystore truststore.jks -storepass bbbbb

将客户端证书导入到服务器证书库(使得服务器信任客户端证书):
keytool -import -v -alias client -file client.cer -keystore server.keystore -storepass bbbbb

keytool -importcert -v -trustcacerts -file "server.cer" -alias server -keystore "server.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk15on-155.jar" -storetype BKS -storepass 17rabliveserver

bcprov-jdk15on-155.jar下载
http://download.csdn.net/download/bigboysunshine/9730310

最近做一个及时通讯系统,服务端用Python3 Socket实现,客户端包括Android和桌面版,功能都实现了以后考虑到加密问题.
python3 Socket要用pem证书,Android javawebSocket要用bks证书,WTF!
Android的bks可以由jks转换来,上网查了一下,jks可以转成pem,这就好办了
首先把jks转成pem
一,生成JKS


keytool-genkey -keyalg RSA -keysize 1024 -validity 3650 -dname "CN=spdb, OU=spdb,O=spdb, L=shanghai, ST=shanghai, C=CN" -alias default -keypass 123456 -keystore csii.jks -storepass 123456
要用RSA加密方式,要用RSA加密方式,要用RSA加密方式,重要事情说三遍二,JKS转pkcs12

keytool -importkeystore -srckeystore csii.jks -destkeystore csii.p12 -srcstoretype jks -deststoretype pkcs12
三,pkcs12转pem
openssl pkcs12 -nodes -in csii.p12 -out csii.pem
生成的pem中包含了私钥和证书
需要把-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----部分的内容复制到cert.pem中
把-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----部分的内容复制到key.pem中即可.
至此JKS转pem完成,接下来要把JKS转成bks
四,JKS转cer
keytool -export -alias default -keystore csii.jks -rfc -file csii.cer
五,cer转bks 这里需要用到bcprov-jdk15on-155.jar这个jar包,放到一个目录里即可
keytool -importcert -v -trustcacerts -file "keystore.cer" -alias defualt -keystore "keystore.bks" -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath "bcprov-jdk15on-155.jar" -storetype BKS -storepass storepassword123
这样就生成了bks

你可能感兴趣的:(https双向认证 CA认证)