一、环境描述
-
红莲花安全浏览器
- 使用JDK的版本: Open JDK1.8
- 操作系统:中标麒麟
- 应用服务器版本:AAS-V9.0_SEC
二应用服务器安装和设置
1、安装AAS
解压AAS-V9.0_SEC.zip即可完成安装,用apusic-sm-2.0.jar替换lib下apusic-sm-1.0.jar,用jce.jar,jsse.jar 替换endorsed_GM下相同的两个包。
2、密钥库(.jsk)文件生成
根据ssl vpn 规范规定,服务器需要加密和签名证书和密钥。(AAS若发现密钥库内只有一个密钥和证书,则将它作为签名和加密证书,安全性可能降低些)
2.1使用GMSSL生成.pem
gmssl pkcs12 –export –inkey sig.key –in sig.cer –inkey enc.key –in enc.cer –out server.p12
2.2使用keytool导入2.1生成的密钥库(这一步的主要原因是 gmssl 貌似不能生成一个秘钥库里有多个秘钥和证书)。JDK8后建议使用PKCS12格式秘钥库。
java –Djava.endorsed.dirs=Apusic_home/lib/endorsed_GM sun.security.tools.keytool.Main\ -importkeystore –srckeystore ./sig.p12 –srcstoretype pkcs12 –destkeystore ./server –deststoretype pkcs12
java -Djava.endorsed.dirs=/root/AAS-V9.0_SEC/lib/endorsed_GM sun.security.tools.keytool.Main -importkeystore -srckeystore ./server.p12 -srcstoretype pkcs12 -destkeystore ./server.jks -deststoretype JKS
2.3 重复步骤2.1和步骤2.2,导入密钥库
另: 我们在PKCS12基础上开发了AKS 格式秘钥库。使用PBESM3SM4格式保护秘钥。如需要请按一下命令转换:
java -Djava.endorsed.dirs=Apusic_home/lib/endorsed_GM sun.security.tools.KeyTool \ -importkeystore -srckeystore ./server.p12 -srcstoretype pkcs12 -destkeystore ./server.aks -deststoretype AKS \ -srcstorepass 111111 -deststorepass 111111 -providerclass com.apusic.jce.provider.Provider \ -providerpath Apusic_home/lib/apusic-sm-1.0.jar -srcprovidername SUN -destprovidername ApusicSP
使用此秘钥库需要在apusic.conf中将秘钥库的格式改为“AKS”。
3、AAS配置文件
<SERVICE
CLASS="com.apusic.net.Muxer"
>
<ATTRIBUTE NAME="Port" VALUE="6888"/>
<ATTRIBUTE NAME="Backlog" VALUE="1024"/>
<ATTRIBUTE NAME="Timeout" VALUE="30"/>
<ATTRIBUTE NAME="LookAheadTimeout" VALUE="30"/>
<ATTRIBUTE NAME="MaxWaitingClients" VALUE="200"/>
<ATTRIBUTE NAME="WaitingClientTimeout" VALUE="5"/>
<ATTRIBUTE NAME="SSLEnabled" VALUE="True"/>
<ATTRIBUTE NAME="SecurePort" VALUE="6889"/>
<ATTRIBUTE NAME="KeyStore" VALUE="config/sslserver.jks"/>
<ATTRIBUTE NAME="KeyStorePassword" VALUE="keypass"/>
<ATTRIBUTE NAME="KeyPassword" VALUE="keypass"/>
</SERVICE>