创建三个同级文件夹:qr、qr-sts、qr-sts-cli
一、制作Java适用JKS格式密钥库
1、创建CA密钥库
keytool -genkeypair -alias qr -keyalg RSA -validity 36500 -keystore qr.jks -storepass grgbanking -keypass grgbanking -dname CN=qr,OU=grgbanking,O=grg,L=gz,ST=gd,C=cn -ext bc:c
2、导出CA证书
keytool -exportcert -alias qr -file qr.cer -keystore qr.jks -storepass grgbanking
3、创建服务端密钥库
keytool -genkeypair -alias qr_sts -keyalg RSA -validity 36500 -keystore qr_sts.jks -storepass grgbanking -keypass grgbanking -dname CN=qr_sts,OU=grgbanking,O=grg,L=gz,ST=gd,C=cn
4、引入CA证书至服务端密钥库
keytool -importcert -alias qr -file ../qr/qr.cer -keystore qr_sts.jks -storepass grgbanking
5、创建证书授权验证请求文件
keytool -certreq -alias qr_sts -file qr_sts_auth_by_qr.csr -keystore qr_sts.jks -storepass grgbanking
6、创建证书文件
keytool -gencert -alias qr -infile ../qr-sts/qr_sts_auth_by_qr.csr -outfile ../qr-sts/qr_sts_auth_by_qr.cer -keystore ../qr/qr.jks -storepass grgbanking
7、导入密钥回复文件
D:\afc_cert\qr-sts>keytool -importcert -alias qr_sts -file qr_sts_auth_by_qr.cer -keystore qr_sts.jks -storepass grgbanking
8、创建客户端密钥库
keytool -genkeypair -alias qr_sts_cli -keyalg RSA -validity 36500 -keystore qr_sts_cli.jks -storepass grgbanking -keypass grgbanking -dname CN=qr_sts_cli,OU=grgbanking,O=grg,L=gz,ST=gd,C=cn
9、引入CA证书至客户端密钥库
keytool -importcert -alias qr -file ../qr/qr.cer -keystore qr_sts_cli.jks -storepass grgbanking
10、创建证书授权验证请求文件
keytool -certreq -alias qr_sts_cli -file qr_sts_cli_auth_by_qr.csr -keystore qr_sts_cli.jks -storepass grgbanking
11、创建证书文件
keytool -gencert -alias qr -infile ../qr-sts-cli/qr_sts_cli_auth_by_qr.csr -outfile ../qr-sts-cli/qr_sts_cli_auth_by_qr.cer -keystore ../qr/qr.jks -storepass grgbanking
12、导入密钥回复文件
keytool -importcert -alias qr_sts_cli -file qr_sts_cli_auth_by_qr.cer -keystore qr_sts_cli.jks -storepass grgbanking
二、制作C++适用PKCS12格式密钥库
1、导出JKS密钥库至PKCS12格式
keytool -importkeystore -srcstoretype JKS -srckeystore ../qr/qr.jks -srcstorepass grgbanking -srcalias qr -srckeypass grgbanking -deststoretype PKCS12 -destkeystore ../qr/qr.p12 -deststorepass grgbanking -destalias qr -destkeypass grgbanking -noprompt
2、openssl工具导出密钥库中的CA证书(pem格式)
openssl pkcs12 -in qr.p12 -passin pass:grgbanking -nokeys -out qr.pem