El comando es igual para Windows que para GNU/Linux desde consola en ambos:
openssl pkcs12 -in certificado.p12 -clcerts -nokeys -out clave_publica.pem
"pkcs12" hace referencia al formato.
con -in le indicamos el archivo
-clcerts indica que coja la segunda clave publica, ya que en el certificado primero aparece la de la FNMT y despues la nuestra... esto es así para que podamos comparar la firma publica de la FNMT impresa el el certificado, la firma con la que se ha firmado el certificado (firmado por la FNMT tambien) y las comparemos con la firma oficial de la CA (Autoridad certificadora) FNMT que obtenemos en su web.
-nokeys indica que no se exportará la clave privada
-out indica el archivo de salida
Cuidadin porque en la clave publica de TU firma digital expedida por la FNMT aparece tu nombre completo y tu DNI.
Si vamos a usar la clave publica para que nuestros "amigos" nos cifren los correos es mejor usar otras soluciones como GPG con Enigmail en Mozilla por ejemplo, ya que los datos que aparecen en las firmas GPG los elegimos nosotros.
Recomendado leer:
http://oasis.dit.upm.es/~jantonio/firmadigital/ (explica como utilizar la firma digital bajo Linux)