自签名证书
-
利用java命令生成自定义签名证书
keytool -genkey -alias tomcat -keypass 123456 -keyalg "RSA" -keystore "e:\tomcat.keystore" //可执行后输入 -storepass 123456
-
tomcat 服务器修改server.xml
将8443端口注释放出来 (默认是8443 但是https请求需要带端口号,改成443端口便不用带端口号访问)
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="E:\tomcat.keystore" keystorePass="123456"/>
将 http请求重定向到https
修改conf.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
修改web.xml
<login-config> <!-- Authorization setting for SSL --> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <security-constraint> <!-- Authorization setting for SSL --> <web-resource-collection > <web-resource-name >SSL</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
测试成功,但是这个一般都会报不安全,而且小程序是不支持该种方式的https请求的
阿里云免费证书
登录阿里云在控制台可免费申请20个SSL认证证书,虽不保证安全,但是小程序是允许这种加密方式调用的,因此需要在阿里云申请免费的证书替换自定义生成的即可使用
分享程序员的理财、生活!我是乐子,多多指教!