php dsa算法,openssl_private_encrypt使用DSA算法生成的密钥无法加密

PHP DSA 加密错误:不支持的密钥类型
在尝试使用DSA密钥进行openssl_private_encrypt加密时遇到PHP警告,提示不支持该密钥类型。问题在于PHP构建不支持DSA格式的私钥。合作方提供的密钥为PEM格式的DSAPrivateKey,而PHP中此功能可能仅支持RSA密钥。已知使用RSA密钥时加密操作正常。目前关于PHP DSA加密的资料较少,导致解决此问题变得困难。

openssl_private_encrypt($originalData, $encryptData, $privateKey, OPENSSL_ALGO_DSS1)

警告信息:

Warning: openssl_private_encrypt(): key type not supported in this PHP build!

密钥:*.pem

-----BEGIN DSA PRIVATE KEY-----

密钥内容

-----END DSA PRIVATE KEY-----

好像并不支持这个格式的密钥进行加密,这个密钥内容是合作方提供,他们的开发语言是JAVA。

我使用RSA格式的密钥内容然后使用openssl_private_encrypt加密没问题。

网上也很少有PHP DSA加密的相关内容,很头疼啊.

回复内容:

openssl_private_encrypt($originalData, $encryptData, $privateKey, OPENSSL_ALGO_DSS1)

警告信息:

Warning: openssl_private_encrypt(): key type not supported in this PHP build!

密钥:*.pem

-----BEGIN DSA PRIVATE KEY-----

密钥内容

-----END DSA PRIVATE KEY-----

好像并不支持这个格式的密钥进行加密,这个密钥内容是合作方提供,他们的开发语言是JAVA。

我使用RSA格式的密钥内容然后使用openssl_private_encrypt加密没问题。

网上也很少有PHP DSA加密的相关内容,很头疼啊.

privateKey 读出来是正确吗

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值