我使用crypto库加密PHP中的Google Chrome通知数据。
我有OpenSSL
个版本:OpenSSL 1.0.1e-fips 11 Feb 2013
当我尝试运行时:$cipher = Cipher::aes(Cipher::MODE_GCM, 128);
我收到此错误:
密码模式CTR在安装的OpenSSL库中不可用。
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
我认为,这里有两件事情。你这样做了:
Cipher::aes(Cipher::MODE_GCM, 128);
您正在获得一个错误模式:
密码模式CTR在安装的OpenSSL库中不可用。
GCM和CTR是API级别的两种不同模式。 GCM处于基本级点击率模式,MAC based on Galois field multiplication。
GCM失败,因为点击率模式不可用。
为什么它不可用?这可能是因为您正在使用FIPS版本的OpenSSL(OpenSSL 1.0.1e-fips 11 Feb 2013
)。也可能是因为您的OpenSSL版本已超过3年(并且可能容易受到Heartbleed的影响)。现在这个幸福的地方是OpenSSL 1.0.2g
。