折雨的天空

博客介绍:本博客当前共有文章【986】篇,总阅读量【5,567,141】次,第一篇博客发表于【2011年04月06日 10时34分】,距今已【5193】天,感谢您的使用!

您的位置:折雨的天空 >php开发> 记录一次PHP下调用sm4算法遇到的问题

记录一次PHP下调用sm4算法遇到的问题

使用函数openssl_get_cipher_methods() ,打印的数组里不包含sm4

服务器上查看openssl版本是1.1.1w,官网消息1.1.1+的算法里面是支持sm4算法的

使用命令行:

openssl enc -ciphers | grep sm4

得到的结果中,包含sm4,有一点奇怪。

由于Openssl是后期升级的,PHP是集成环境中的,然后查看PHP编译的openssl版本

php -i | grep -i openssl

得到结果:

Configure Command =>  './configure'  '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/conf.d' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv=/usr/local' '--with-freetype=/usr/local/freetype' '--with-jpeg' '--with-zlib' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--with-curl' '--enable-mbregex' '--enable-mbstring' '--enable-intl' '--enable-ftp' '--enable-gd' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-zip' '--enable-soap' '--with-gettext' '--enable-opcache' '--with-xsl' '--with-pear' '--with-webp' 'PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/opt/rh/devtoolset-9/root/usr/lib64/pkgconfig'
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.2k-fips  26 Jan 2017
OpenSSL Header Version => OpenSSL 1.0.2k  26 Jan 2017
Openssl default config => /etc/pki/tls/openssl.cnf
openssl.cafile => no value => no value
openssl.capath => no value => no value
Native OpenSSL support => enabled

找到问题原因,PHP编译的是1.0.2k,所以不支持sm4,解决办法就是重新编译PHP

编译的时候指定openssl地址,同时还有两个前提条件

#编译时加上
--with-openssl=/usr/local/openssl-1.1.1w

这个地址如何获取呢?

openssl version -a

这个命令可以获取到你openssl实际所在地址,新版的Openssl


然后,编译PHP前,先执行:

export PKG_CONFIG_PATH=/usr/local/openssl-1.1.1w/lib/pkgconfig:$PKG_CONFIG_PATH

ldconfig -v /usr/local/openssl-1.1.1w/lib

重新编译PHP后,使用命令查看是否是最新的openssl

php -i | grep -i openssl
# 预期输出OpenSSL Library Version为1.1.1w

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《记录一次PHP下调用sm4算法遇到的问题

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换