CA證書認(rèn)證: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
將客戶端證書導(dǎo)入服務(wù)端keystore中烘贴,再將服務(wù)端證書導(dǎo)入客戶端keystore中窄瘟, 一個(gè)keystore可以導(dǎo)入多個(gè)證書治宣,生成證書列表。
生成客戶端信任證書庫(由服務(wù)端證書生成的證書庫):
keytool -import -v -alias server -file server.cer -keystore truststore.jks -storepass bbbbb
將客戶端證書導(dǎo)入到服務(wù)器證書庫(使得服務(wù)器信任客戶端證書):
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
最近做一個(gè)及時(shí)通訊系統(tǒng),服務(wù)端用Python3 Socket實(shí)現(xiàn),客戶端包括Android和桌面版,功能都實(shí)現(xiàn)了以后考慮到加密問題.
python3 Socket要用pem證書,Android javawebSocket要用bks證書,WTF!
Android的bks可以由jks轉(zhuǎn)換來,上網(wǎng)查了一下,jks可以轉(zhuǎn)成pem,這就好辦了
首先把jks轉(zhuǎn)成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轉(zhuǎn)pkcs12
keytool -importkeystore -srckeystore csii.jks -destkeystore csii.p12 -srcstoretype jks -deststoretype pkcs12
三,pkcs12轉(zhuǎn)pem
openssl pkcs12 -nodes -in csii.p12 -out csii.pem
生成的pem中包含了私鑰和證書
需要把-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----部分的內(nèi)容復(fù)制到cert.pem中
把-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----部分的內(nèi)容復(fù)制到key.pem中即可.
至此JKS轉(zhuǎn)pem完成,接下來要把JKS轉(zhuǎn)成bks
四,JKS轉(zhuǎn)cer
keytool -export -alias default -keystore csii.jks -rfc -file csii.cer
五,cer轉(zhuǎn)bks 這里需要用到bcprov-jdk15on-155.jar這個(gè)jar包,放到一個(gè)目錄里即可
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