Com esta função, é possível recuperar a chave pública de um Certificado Digital.
A função utiliza a função: openssl_pkey_get_details que está disponível a partir do PHP 5.2.0. No nosso caso a chave foi recuperada a chave pública mas é possível obter também outros atributos do certificado, bastando pouca alteração no código.
function getPublicKey($caminhoCertificado){ //Funcao para pegar a chave publica //Abre o certificado digital $fp = fopen($caminhoCertificado, "r"); $pub_key = fread($fp, 8192); fclose($fp); //Pega a referência para a cheve pública $pub = openssl_get_publickey($pub_key); //Pega a chave pública (retorna um array) $keyData = openssl_pkey_get_details($pub); //Retorna a chave return $keyData['key']; }