I am trying to use OpenSSL function for RSA sign/verify in PHP. When I try to do openssl_verify using my public key, I am getting this error: "error:0906D06C:PEM routines:PEM_read_bio:no start line", but the function itself works correctly (returns 0 if messages was modified, and 1 if intact). openssl_sign works fine.
Bunu nasıl düzeltebilirim?
Şu anda, ben openssl tarafından oluşturulan ortak anahtarı kullanır:
define("SC_MSG_PUBLIC", <<<EOD
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALjPcOckMHDVLiUstcRwwx8kF5PzsiEs
rskyndWisbXMLU9BHomXwL7Qg2L91jE+sNSobkzBDF41CbwDiNlofZUCAwEAAQ==
-----END PUBLIC KEY-----
EOD
);
Herhangi Bu hata tetikler, ama her şey iyi çalışır neden fikir?
Özel üzerinden kamu anahtarı oluşturmak ve bunu kullanmaya çalıştı, ama tam olarak aynı, aynı hata mesajı ortaya çıktı:-S
$pkey = openssl_pkey_get_private(SC_MSG_PRIVATE);
$keyDetails = openssl_pkey_get_details($pkey);
file_put_contents('c:\publickey', $keyDetails['key']);
Aynı sonucu - Ayrıca, ben her şeyi (PHP 5.3.1, OpenSSL 1.0.0a) yeni sürümlerini yüklemeye çalıştım. Ve, ben windows duyuyorum.