Question

Edit: Mes problèmes ne sont pas résolus, mais je suis passé à de nouveaux problèmes plus passionnants.
Laisser ceci ici au cas où quelqu'un aurait et perspicace qui aiderait quelqu'un qui trébuche sur cette question à l'avenir.

Bonjour,    Je tente d'envoyer un email crypté de php à Outlook. En tant que tel, je dois générer un certificat à importer dans Outlook. Je n'ai eu aucun problème à générer un jeu de clés à l'aide de openssl et du script CA.pl qui l'accompagne, mais lorsque j'essaie d'exécuter la commande pour générer le fichier PKCS12 à importer dans Outlook, il se plaint de l'absence de "demoCA". annuaire. Il semble que ce répertoire fait partie d’openssl et qu’il soit référencé dans la configuration openssl ... mais je ne sais pas du tout où il se trouve. J'ai parcouru le lecteur de plusieurs manières, de grep à spotlight (sur os x, même si je ne m'attendais vraiment pas à ce que spotlight trouve quoi que ce soit), et je ne peux rien en dire.

La commande que j'essayais d'exécuter est la suivante:

$ openssl ca -cert newcert.pem -ss_cert newcert.pem
Using configuration from /sw/etc/ssl/openssl.cnf
./demoCA/private/cakey.pem: No such file or directory trying to load CA private key
19918:error:02001002:system library:fopen:No such file or directory:bss_file.c:245:fopen('./demoCA/private/cakey.pem','r')
19918:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:247:

Je suis un peu un noob en matière de cryptage / SSL, alors il se peut que je manque quelque chose de stupide (j'en suis sûr, haha).

Était-ce utile?

La solution

Vous devez créer une nouvelle autorité de certification à l'aide du script fourni, ce qui est plus simple que de simplement gérer toutes les options openssl. Vous pouvez le faire en utilisant OpenSL fourni avec Cygwin dans Windows ou utiliser votre distribution Unix préférée. Je vais vous montrer comment faire avec des scripts bash (mais les scripts Perl devraient être les mêmes).

$ ./CA.sh -newca

Ceci crée un répertoire demoCA contenant le certificat de l'autorité de certification. Lorsque vous appelez la commande ci-dessus, les champs du certificat de l'autorité de certification (CN, OU, etc.) et de la phrase secrète de la clé privée de l'autorité de certification sont affichés.

Vous pouvez maintenant créer des demandes de certificat ou des certificats à partir de demandes de certificat.

$ ./CA.sh -newreq

Ceci vous demande d'indiquer les nouveaux champs de demande de certificat et la phrase secrète pour chiffrer la clé privée générée. Par défaut, la demande est laissée dans le même répertoire que CA.sh (newreq.pem). Il est important que vous utilisiez comme adresse électronique (nom commun) votre adresse électronique.

Maintenant, il vous suffit de le signer et vous avez un certificat complet.

$ ./CA.sh -sign

Ceci générera newcert.pem qui correspond à la demande de certificat signé. Vous avez votre certificat, vous devez seulement insérer le certificat et la clé privée dans un fichier PFX ou P12, que Microsoft CSP reconnaît.

Copiez ensuite le contenu de newreq.pem et newcert.pem dans un fichier.

$ cat newreq.pem > keypair.pem
$ cat newcert.pem >> keypair.pem

Et générez maintenant le fichier P12 à l’aide du shell openssl (cette fois, aucun script ne nous est utile). Il vous demandera la phrase secrète que vous avez utilisée lors de la génération de la demande, puis le mot de passe d'exportation (pour chiffrer la clé privée dans le fichier p12).

$ openssl pkcs12 -export -in keypair.pem  -out mykeypair.p12
Enter pass phrase for keypair.pem:
Enter Export Password:
Verifying - Enter Export Password:

Et voilà. Vous avez un fichier PKCS # 12 que vous pouvez double-cliquer dans Windows, l'importer dans votre magasin de clés et l'utiliser comme certificat de signature de messagerie (je ne me souviens pas si les options par défaut sont suffisantes ou si vous devez spécifier des attributs supplémentaires lors de la création du fichier certificat pour qu'Outlook le reconnaisse comme un certificat de signature de courrier électronique). Vous devrez également importer le certificat de l'autorité de certification en tant qu'autorité de confiance (copiez cacert.pem dans cacert.cer situé dans le répertoire demoCA et double-cliquez dessus pour l'importer).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top