android使用java-websocket实现wss记录
java-websocket
服务器设置
// 这里注意匹配的ip值,如果你是android,那你应该是要将你服务器的公网ip加入的,否则android连接不上。
CAROOT="$PWD" mkcert -cert-file cert.pem -key-file key.pem \
"127.0.0.1" \
"::1" \
"localhost" \
"*.test.local"
chmod 440 *.pem
CAROOT="$PWD" mkcert -install
openssl pkcs12 \
-export \
-in cert.pem -inkey key.pem \
-out cert.p12 -passout pass:123456
chmod 440 *.p12
spring-boot application.properties配置
server.ssl.key-store=classpath:cert.p12
server.ssl.key-store-password=123456
server.ssl.key-store-type=PKCS12
客户端设置
p12 转 jks
keytool -importkeystore -srckeystore cert.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore client.jks
jks 转 bks
keytool -importkeystore -srckeystore client.jks -srcstoretype JKS -destkeystore client.bks -deststoretype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath bcprov-ext-jdk15on-169.jar
上面的命令 :
- -provider org.bouncycastle.jce.provider.BouncyCastleProvider 是第三方工具,因为keytool官方不支持bks
- -providerpath jar包的绝对路径
- jar包下载地址
- jar包下载完要放到 D:\Java\jdk1.8.0_231\jre\lib\ext 路径下 (实际情况根据自己jdk安装位置调整)
查看 bks
keytool -v -list -keystore client.bks -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath d:\Java\jdk1.8.0_231\jre\lib\ext\bcprov-ext-jdk15on-169.jar -storetype BKS
看不到拓展信息,知道的兄弟可以评论告诉我
最后根据最上面的demo,使用bks就可以使用wss连接上服务器了。