使用国际的ssl证书,小程序的语音播放正常。但是,使用了国密证书以后,小程序的语音不播放。图片和文字的加载都正常,就语音不能播放。目前暂时没有使用国密证书,但是按项目要求是得上国密证书的。
语音播放的代码是正常的语音播放代码,没有做特殊处理。语音链接是同一个链接。
业务系统相关报错信息如下:
1,小程序的报错
2,服务器上的报错
2024/11/27 17:29:54 [info] 4113923#0: *2036 SSL_do_handshake() failed (SSL: error:14094417:SSL routines:ssl3_read_bytes:sslv3 alert illegal parameter:SSL alert number 47) while SSL handshaking, client: 60.26.180.137, server: 0.0.0.0:443
2024/11/27 17:29:54 [info] 4113923#0: *2037 SSL_do_handshake() failed (SSL: error:14094417:SSL routines:ssl3_read_bytes:sslv3 alert illegal parameter:SSL alert number 47) while SSL handshaking, client: 60.26.180.137, server: 0.0.0.0:443
3,国密证书相关信息如下
证书配置代码如下,项目中的真实域名已经用(主域名)进行替换:
#国密SM2签名证书
ssl_certificate /data/nginx/conf/servers/cert/_.(主域名)_sign_chain.crt;
ssl_certificate_key /data/nginx/conf/servers/cert/(主域名).key;
#国密SM2加密证书
ssl_certificate /data/nginx/conf/servers/cert/_.(主域名)_encrypt_chain.crt;
ssl_certificate_key /data/nginx/conf/servers/cert/(主域名).key;
#先配置签名证书,再配置加密证书
ssl_session_timeout 5m;
ssl_ciphers SM2-WITH-SMS4-SM3:ECDH:AESGCM:HIGH:MEDIUM:!RC4:!DH:!MD5:!aNULL:!eNULL; // 这条就是支持的加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
nginx已经编译了支持国密gmssl模块。
麻烦判断一下是什么原因导致的,该怎么解决,谢谢!
自己校验下你的国密ssl证书就知道了:https://myssl.com/ssl.html