Bu PHP'nin openssl_sign
ve openssl_verify
fonksiyonlar nedeniyle boyut kısıtlamaları, imzalamadan önce verileri karma yapmak gibi görünüyor, bu yüzden komut satırında bu taklit denedim.
Openssl via İmzalama:
echo "foo" | openssl dgst -sha1 -binary | openssl rsautl -inkey priv.pem -sign > sig.bin
Daha sonra PHP ile doğrulanması
$key = openssl_pkey_get_public('pub.pem');
$ver = openssl_verify( "foo\n", file_get_contents('sig.bin'), $key, OPENSSL_ALGO_SHA1 );
// $ver always 0
Ben sondaki yeni satır ve olmadan, çok sayıda ikili kombinasyonları ve karma altıgen formlar denedim, ve hatta php işlevi geçirmeden önce karma ettik