First, you need to use openssl_pkcs12_read
to read the key file, not file_get_contents
. Second, I believe you want to leave off the second parameter to openssl_get_privatekey
.
I highly recommend you use google-api-php-client for this, which has Google_P12Signer.php