I'm trying to use the openssl_verify function to check data that is being sent to me. I have the encrypted data, the un encrpypted data, and a public key. I'm having problems because it seems that all the OpenSSL functions want to get a certificate with the private key in it as well (which I don't have access to). I can use OpenSSL on the command line to do what I want, I have a code sample in Perl that does what I need to do, it called the function: Crypt::OpenSSL::DSA->read_pub_key($PublicKeyFile) to read in the public key. However is seems that the PHP function openssl_get_publickey() works differently, it seems to require a private key. Is there something I've overlooked?