// openssl genrsa -out mykey.pem 1024
// will actually produce a public - private key pair. The pair is stored in the generated mykey.pem file.
// openssl rsa -in mykey.pem -pubout > mykey.pub
// To just output the public part of a private key:
// openssl rsa -in key.pem -pubout -out pubkey.pem
$publicKey = '/Users/ruby/.ssh/mykey.pub';
$privateKey = '/Users/ruby/.ssh/mykey.pem';
$key = openssl_get_publickey(file_get_contents($publicKey));
$key1 = openssl_get_privatekey(file_get_contents($privateKey));
openssl_private_encrypt('abc', $encrypted, $key1);
openssl_public_decrypt($encrypted, $decrypted, $key);
openssl_sign('abc', $signed, $key1);
var_dump($decrypted); exit();
![]()