Выдвет постоянно ошибку:
PHP Warning: openssl_sign(): supplied key param cannot be coerced into a private key in
Пример кода:
class SomeClass {
public function verify() {
$key = openssl_get_privatekey('./private_key.pem', 'strong_password');
$signature = null;
if (openssl_sign(base64_decode($data), $signature, $key, OPENSSL_ALGO_SHA256) === false) {
throw new \Exception(openssl_error_string());
}
}
}
Файлы PEM сгенерировал такими командами:
openssl genrsa -aes256 -out private_key.pem 2048
openssl rsa -pubout -in private_key.pem -out public_key.pem
Версия OpenSSL: OpenSSL 1.1.1b 26 Feb 2019
Примеры файлов. private_key.pem:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,61078E5A491AAFBA18BBABE978C78BDF
BqJ06kTyUlX4DDzNmwEkn3Ujy8iQUD+j5mxI8kIvVkqU+gGMHWhCVn66ZtGFreFw
yZ7EMUHx9uQmZQ0sSsVxhmGljejAfmnWqdK3FS4HMZQAxDveRq123zw6I3pjXk6f
WCsEakTL1hcsM3IzUYRDOK4BFGM5uJZcLW4UNiTz6uto0yquReuxJV8S6zNEgxuk
O6hYQvAAr+OvprehGb0IuH1FfOrIF6dhqPyyHtVDPEpnKtLXvGptclk4PgAgOfdt
oMic5z4xO9Nmdfk3L4zalNZkVhfmTb//EEbIB2V5TBVuRoh2RuV2Y71Fqf0LwctD
9Ys+P0VQ/4e27QYlkXsxAdm/uVQncnHA3couU5vaUpP2NlIL+DbrqncMeXxTGuu3
tFP8FtBMrPvdgqIqFiUthUmemhN7uOatIQrbxXWenPnUT79bp9/9sDL+ovgN61cR
p50Fu6oJAnv3edgC4LY5btkQjszP2QtLZ0KYbB6b+6nwJpuH31QnIGNPURNqS+1d
irPqHpL5Nt5OILtVjiuampSk2o9xngIYFel5rihawEszKVUAtAT6k3IPOaNNpoia
9Djna+CdedIKbnWCRk6uJzmKowr5D6+Eh+79/z6sne7e2FD2S0IzcByYv/EHcJLR
L8Rb8so/0fBwZ5b8bQt/HidL+e54xwSbZzkVehQv0c56dPeIeUruMleZoqHbNm7u
5ly20hrPcedvHVYRMgihNWoJEb/LmFDu6m5sQfn+EUdK1mjqcDdIxSb1pXh3HF0X
sfXd5ej3JSLXP7+yZ+GaqCShotiUwn2XMz3sPoMOkYt3Og27wQmXcARnxSLP6i0P
0G+qfsusZq9cokH2ePcgXWV5Je3KIlyKrVpBGTxk8623NXK1k+osijsMAyG50E0M
mLqm2yceg1ABXiaKzuTGuhaqNMVkjbWZnoaxgUrVgK0btVGga5p0G2iqO2B9ydOj
d0BeO2dh2NuXrHxfqaxkCNC7dsic1Fml/T5wxMC7cTUEF0xiYRBxbhqLRhBP/D97
glcQs3yuWbb0pTI2taJfnH6i9VV0nHWeySnMpPz2dE1yy12tRCLJIR0Z1Eubr/lu
PN4QztlkeI6dcLu9UChGy4vW15AEZY8HZvTyTl1pWwq+VlqezhlzSH/qmMSGUj7w
68CmvSy5+kpJXdoOYIzSq7SleKL0W/rttEXg4fOUFbt6UPyN4BgDllaMrQ5yW5zd
45aMu+IZVyNiHjIKG1P2AsScUQS9Ep7ToKRDiZhKq77AwavQfp6Ka2o1ieL2Moh2
w9/oZ4+9TfKjIJeajRn1yeyh8TEktFKGEMTbV7Ieqlem0kLpLoz4gruL7OInfSNK
aMl6kL7BYcfuUprTwyjFiUObIbllMmUQHaMVuJMD12u2c6E7cptlYBFv6Ppvr8uF
KC8ujdc8LV0i6TGx2lJSIpYIaqv+NTZdPKUjMUC5BUTm0WcA/at7nbRgdE66dQzL
oNJKixKTAGMBVDTwHIhve1Y03yWYGafieiaIdo3SZVvy8NmA3U7uNIvmHk7sgh02
EM0e5tDljgYk2bMvFBgIKA/KylhKfLg9YPl8hOroCH8Yv0fQzazfttqyA+5oSJbB
-----END RSA PRIVATE KEY-----
public_key.pem
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA99cdRyy57fmzCGayRUy6
e2u/9sm+S2QCuWwXFnGCSGbz6ouq3FgFD6vk4yKyf/5LruZvAb/UwZRZwIZcym/x
kDo/BTTIuud8xwuRz6BC79GWbHp1NbDjabtozEPshSW9cSAXV3RtKVnYrOfiCIWV
naZfdYV6NfI3WI/hL3flUz6Dd81e4TwrHCIji5e5n8EHO27g+xsq2iNP2T2ZZQWt
dFvGgqAOona4KE9tAwls9eJk01lw204brH9HfjSCYUvVweKQUoQ1CZjMxrj9xs3/
sIZcw3mdxIJVqpiHu9q00c7L1lWpJG0qGNgg6sIhBXSMA5KtABQo2YfDiRpLtf3A
DQIDAQAB
-----END PUBLIC KEY-----