Bonjour,
pour un projet, je souhaite générer des certificats client SSL de manière un peu automatisé. Pour cela, je souhaite créer un petit programme en C++ (enfin dans un langage compilé pour pouvoir l'utiliser avec un SUID bit) qui contrôlerai openssl et se chargerai de répondre aux différentes questions qu'il peut poser lors de la génération.
Je me doute qu'il doit s'agir de redirection de flux, mais je ne dois pas être très doué car je n'arrive pas à trouver de documentation ou un exemple de programme en C++ qui contrôlerait un programme interactif comme peut l'être openssl.
Je recherche donc :
- soit un exemple de programme faisant cela,
- soit des documents pouvant m'orienter,
- soit simplement une liste de mots clé que je pourrai taper sur mon moteur de recherche afin de trouver mon bonheur
Si vous avez des idées à ce sujet, je suis preneur.
# Expect
Posté par Jean B . Évalué à 3.
[^] # Re: Expect
Posté par leviathan (site web personnel) . Évalué à 1.
[^] # Re: Expect
Posté par leviathan (site web personnel) . Évalué à 1.
Un grand merci
# Faire un tube
Posté par pma . Évalué à 3.
L'idéal serait d'utiliser les bibliothèques d'OpenSSL directement, ton programme ne serait alors pas dépendant d'un changement d'affichage d'openssl (mais seulement d'un changement d'API). Ça fait un moment que je n'ai pas regardé openssl, mais "man 3 x509" doit pouvoir te renseigner (reste à trouver un exemple: les sources d'openssl?).
Pour rediriger les flux, il faut que tu crée un tube (pipe) qui servira de tampon entre les E/S de tes 2 processus. "man pipe" te donnera un exemple complet.
[^] # Re: Faire un tube
Posté par ecyrbe . Évalué à 3.
Cependant l'api X509 est incompréhensible si l'on a pas l'habitude de mettre la main dans le cambouis, à savoir aller regarder les entêtes des fichiers d'OpenSSL et rechercher toutes les fonctions contenant "X509" et d'essayer de comprendre à quoi elles servent...
Par contre, il y a les même fonctionnalités dans GnuTLS, et l'api est très bien documenté.
Donc, si j'ai une suggestion à faire ce serait d'utiliser GnuTLS pour générer tes certificats. Tu galèreras moins.
[^] # Re: Faire un tube
Posté par leviathan (site web personnel) . Évalué à 1.
Si je génère un certificat avec l'API de GnuTLS, celui-ci sera compatible avec OpenSSL ?
[^] # Re: Faire un tube
Posté par pma . Évalué à 2.
[^] # Re: Faire un tube
Posté par Krunch (site web personnel) . Évalué à 1.
http://www.peereboom.us/assl/html/openssl.html
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Qt
Posté par ChickenKiller . Évalué à 1.
[^] # Re: Qt
Posté par leviathan (site web personnel) . Évalué à 2.
Je garde la solution sous le coude si je ne parviens pas à faire ce que je souhaite avec les autres propositions ci-dessus.
[^] # Re: Qt
Posté par Gof (site web personnel) . Évalué à 2.
Compile Qt en static avec ton programme au besoin.
(Qt n'est pas si lourd, rapelle toi qu'il fonctionne sur des téléphones)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.