Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre émérite Avatar de jurassic pork
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    462
    Détails du profil
    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : décembre 2008
    Messages : 462
    Points : 960
    Points
    960

    Par défaut Créer votre propre certificat numérique personnel auto-signé

    bonjour et tout d'abord bonne année 2011 à tous !

    Introduction
    Pourquoi me direz-vous cet article dans le contribuez du forum WINDEV. Eh bien, par exemple pour pouvoir signer un exécutable dans windev 16, il faut que vous ayez au moins un certificat numérique personnel sinon l'option de signature dans la génération de l'exécutable n'apparaît pas. De même pour pouvoir apposer une signature numérique à un email il faut lui mettre aussi un certificat. A des fins de tests, pour une utilisation personnelle ou une utilisation interne à votre société, si vous n'avez pas de certificats, l'article qui suit vous permettra de créer un certificat personnel auto-signé. Vous avez bien sûr la possibilité de passer par une société spécialisée pour les certificats comme Thawte,Verisign,TBS mais cela n'est pas gratuit ou alors limité dans le temps. Pour comprendre dans quel cas on doit utiliser une société spécialisée dans les certificats voir le paragraphe limitations.

    Solution
    Cet article décrit comment effectuer les choses suivantes :
    Créer un certificat CA (autorité de certification racine de confiance) en utilisant OpenSSL
    Créer un certificat ICA (autorité de certification intermédiaire) en utilisant OpenSSL
    Créer un certificat personnel auto-signé en utilisant OpenSSL
    Installer le certificat CA dans le magasin de clés Windows en utilisant Internet Explorer
    Installer le certificat ICA dans le magasin de clés Windows en utilisant Internet Explorer
    Installer le certificat personnel dans le magasin de clés Windows en utilisant Internet Explorer

    Limitations
    Les certificats auto-signés sont des certificats à usage interne. Signés par un serveur local, ce type de certificat permet de garantir la confidentialité des échanges au sein d'une organisation, par exemple pour le besoin d'un intranet. Il est ainsi possible d'effectuer une authentification des utilisateurs grâce à des certificats auto-signés.
    Les certificats signés par un organisme de certification comme Thawte,Verisign,TBS sont nécessaires lorsqu'il s'agit d'assurer la sécurité des échanges avec des utilisateurs anonymes, par exemple dans le cas d'un site web sécurisé accessible au grand public. Le certificateur tiers permet d'assurer à l'utilisateur que le certificat appartient bien à l'organisation à laquelle il est déclaré appartenir.

    Etape 1 : Télécharger et installer OpenSSL
    Télécharger la distribution OpenSSL ici : http://www.slproweb.com/products/Win32OpenSSL.html
    Installer le logiciel OpenSSL dans par exemple c:\openssl

    Etape 2 : Créer un certificat CA
    Ouvrir une fenêtre console
    Aller dans le répertoire des binaires de OpenSSL
    CD c:\openssl\bin
    Créer la clé privée en tapant :
    openssl genrsa -des3 -out monca.key 1024
    Quand vous y êtes invité, saisir un mot de passe *super* costaud
    Et puis retaper le mot de passe dans la vérification
    Créer la clé publique en tapant :
    openssl req -new -x509 -days 365 -key monca.key -out monca.crt
    Quand vous y êtes invité saisir un mot de passe *super* costaud
    Pour «*Country Name*» entrer l'abréviation standard du pays (ex : FR ou CH ou BE ou CA etc)
    Pour «*State or Province Name*» entrer le département où votre société est située (ex : paris)
    Pour «*Locality Name*», entrer la ville où votre société est située (ex : paris)
    Pour «*Organization Name*» entrer le nom complet de votre société ( ex: MaBoite SA)
    Pour «*Organization Unit*Name» entrer votre section (ex: Développement ou Support)
    Pour «*Common Name*» utiliser votre domaine (ex : maboite.com)
    Pour «*Email Address*» entrer une adresse email valide (ex: support@maboite.com)

    Etape 3 : Créer et signer un ICA
    Créer la clé privée en tapant :
    openssl genrsa -des3 -out monica.key 1024
    Quand vous y êtes invité saisir un mot de passe *super* costaud
    Et puis vérifier le mot de passe
    Créer une demande de certificat pour signature par l'autorité racine CA en tapant :
    openssl req -new -key monica.key -out monica.csr
    Quand vous êtes invité, saisir un mot de passe *super* costaud
    Répéter les informations entrées au-dessus pour le certificat CA , Excepter pour le «Common Name*» ajouter "www." (ex: www.maboite.com)
    Quand vous êtes invité à saisir un «*Challenge Password*» appuyer sur la touche «*Entrée*» pour passer
    Quand vous êtes invité à saisir un «*Optional Company Name*» appuyer sur la touche «*Entrée*» pour passer
    Signer la demande avec la racine CA et fabriquer une clé publique en tapant :
    openssl x509 -req -days 365 -in monica.csr -CA monca.crt -CAkey monca.key -set_serial 01 -out monica.crt
    Quand vous êtes invité, rentrer le mot de passe *super* costaud utilisé pour créer le certificat CA.

    Etape 4 : Créer un certificat personnel combiné
    Combiner les deux certificats dans un simple fichier en tapant :
    openssl pkcs12 -export -out monexport.pfx -inkey monica.key -in monica.crt
    Quand vous êtes invité, rentrer le mot de passe *super* costaud utilisé pour créer le certificat intermédiaire ICA.
    Répéter le mot de passe pour «*Export Password*» et «*Export Password verify*»

    Etape 5: Installer le certificat racine CA en utilisant Internet Explorer
    Lancer Internet Explorer
    Sélectionner Outils->Options Internet à partir du menu
    Sélectionner l'onglet Contenu
    Cliquer sur le bouton «*Certificats*»
    Sélectionner l'onglet «*autorités de certification racines de confiance*»
    Cliquer sur le bouton «*Importer*»
    Cliquer sur le bouton «*Suivant >*»
    Cliquer sur le bouton «*Parcourir» pour trouver le fichier qui contient le certificat CA
    Aller à C:\openssl\bin et choisir monca.crt
    Cliquer sur le bouton «*Ouvrir*»
    Cliquer sur le bouton «*Suivant >*»
    Vérifier que «*Placer tous les certificats dans le magasin suivant*» est sélectionné
    Vérifier que Magasin de certificats: = autorités de certification racines de confiance
    Cliquer sur le bouton «*Suivant >*»
    Cliquer sur le bouton «*Terminer*»
    Dans la fenêtre d'avertissement qui apparaît cliquer sur le bouton «*Oui» pour valider
    Cliquer sur «*OK*»

    Etape 6: Installer le certificat intermédiaire ICA en utilisant Internet Explorer
    Change l'onglet en cours pour l'onglet «*Autorités de certification intermédiaires*»
    Cliquer sur le bouton «*Importer*»
    Cliquer sur le bouton «*Suivant >*»
    Cliquer sur le bouton «*Parcourir*» pour trouver le fichier requis
    Aller à C:\openssl\bin et sélectionner monica.crt
    Cliquer sur le bouton «*Ouvrir*»
    Cliquer sur le bouton «*Suivant >*»
    Vérifier que «*Placer tous les certificats dans le magasin suivant*» est sélectionné
    Vérifier que Magasin de certificats: = autorités de certification racines de confiance
    Cliquer sur le bouton «*Suivant >*»*
    Cliquer sur le bouton «*Terminer»
    Cliquer sur le bouton «*OK*»

    Etape 7: Installer le certificat personnel en utilisant Internet Explorer
    Changer l'onglet pour «*Personnel*»
    Cliquer sur le bouton «*Importer»
    Cliquer sur le bouton «*Suivant >*»
    Cliquer sur le bouton Parcourir pour trouver le fichier requis
    Changer le type d'extension de fichier pour «*Echange d'informations personnelles *.pfx, *.p12*»
    Aller à C:\openssl\bin et sélectionner monexport.pfx
    Cliquer sur le bouton «*Ouvrir*»
    Cliquer sur le bouton «*Suivant >*»
    Rentrer le mot de passe *super* costaud utilisé pendant l'export la clé (on a utilisé le même mot de passe que celui utilisé pour créer la clé intermédiaire)
    Cliquer sur le bouton «*Suivant >*»
    Vérifier que «*Placer tous les certificats dans le magasin suivant*» est sélectionné
    Vérifier que Magasin de certificats: = Personnel
    Cliquer sur le bouton «*Suivant >*»
    Cliquer sur le bouton «*Terminer*»
    Cliquer sur le bouton «*OK*»

    Et voilà si tout s'est bien passé vous avez à votre disposition un certificat numérique personnel auto-signé. Vous pourrez le choisir pour tester la signature des exécutables en windev 16.

    Ami calmant, J.P

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2004
    Messages : 50
    Points : 24
    Points
    24

    Par défaut

    Salut à toi et merci beaucoup pour ton tuto.

    Je l'ai suivi une première fois pour faire un test et je suis parvenu à signer un exécutable (je suis passé par signtool.exe pour y parvenir).

    J'ai voulu réexécuter toute la procédure pour faire une nouvelle signature, mais cette fois j'obtiens le message d'erreur suivant avec signtool.exe :

    Done Adding Additional Store
    SignTool Error: ISignedCode::Sign returned error: 0x800B010A
    Une chaine de certificats n'a pas pu etre etablie vers une autorite racine de confiance.
    SignTool Error: An error occurred while attempting to sign: c:\cle\test.exe

    Number of errors: 1
    Une recherche sur Google sur ce message d'erreur me renvoie sur cette page : http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx

    Mais rien à faire, je ne comprends pas l'erreur ni ce qu'il faut faire...

    Aurais-tu une idée de ce que j'aurais mal fait ou oublié ?

    Merci d'avance.

    EDIT ------------------------------------------------------------------

    J'ai continué mes tests et recommencé ta procédure.

    Mon erreur venait du fait que pour "Common Name", je ne mettais plus explicitement à la deuxième tentative "maboite.com" et "www.maboite.com" comme tu le précises.
    Je mettais uniquement le nom de mon entreprise ("maboite") car dans la console, openssl indique "e.q. server FQDN or YOUR name", ce que j'ai compris par "un nom de domaine ou le nom de votre entreprise", mais apparemment ce n'est pas le cas.
    Je ne comprends pas trop pourquoi il faut absolument mettre "maboite.com" et "www.maboite.com". As-tu une explication ?

    Autre petite remarque : les étapes d'installation des certificats dans IE (racine, intermédiaire et personnel) ne sont pas nécessaires pour signer un exécutable avec signtool.exe. On peut tout de suite utiliser le fichier généré "monexport.pfx" avec la commande signtool sign /f "monexport.pfx" /p monmotdepasse "setup.exe".
    D'où ma question : à quoi servent les installations via IE ? Cela est peut-être nécessaire dans ton cas pour WinDev ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •