Impossible de signer S /MIME en utilisant OpenSSL même si "vérifier" les succès

J'ai un certificat client dans Chrome, que j'ai utilisé pour me connecter à StartSSL. Je l'ai exporté en utilisant pk12util vers certfile.p12. Maintenant, je veux l'utiliser pour signer avec S / MIME.

J'ai converti le fichier p12 en pem.

Tout d'abord, je vérifie que le certificat fonctionnera à cet effet :

$ openssl verify -purpose smimesign -verbose -CAfile ca-bundle.crt certfile.pem
certfile.pem: OK

Maintenant j'essaie de signer:

$ echo "lol" | openssl smime -sign -CAfile ca-bundle.crt -signer certfile.pem
unable to load signing key file
3074062600:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY

Si j'utilise le fichier p12 d'origine, cela ne fonctionne pas non plus, mais avec un autre message d'erreur:

$ openssl verify -purpose smimesign -verbose -CAfile ca-bundle.crt certfile.p12
unable to load certificate
3074066696:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE

Que dois-je faire pour que je puisse signer des messages avec des certificats StartSSL gratuits?

demandé sur