IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI Delphi Discussion :

[Win] Signature applicatif Win32


Sujet :

EDI Delphi

  1. #1
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut [Win] Signature applicatif Win32
    Bonjour,

    Je rencontre de plus en plus un problème lors de l'installation de mon applicatif win32 sur des postes win10: mon applicatif qui n'est pas signé.

    Mon applicatif n'est pas distribué via le Windows Store mais via un setup classique.

    J'ai fait des recherches ici, ou qui parlent de la signature du projet mais ce n'est pas clair pour moi.
    Cet article me donne plus d'infos mais semble obsolète avec ce que propose Sydney.

    Embarcadero propose une aide conséquente mais j'ai des questions:
    - mon applicatif est win32, est-ce possible de la certifier ? Si oui, comment ?
    - je ne diffuserai pas mon application sur le windows Store, dois-je passer par cette procédure Embarcadero ci-dessus pour certifier mon applicatif ?

    Merci pour votre retour.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Oui c'est possible.

    Premièrement acheter un certificat. Les moins chers semblent être par ici (j'utilise un certificat Comodo acquis à travers Tucows à l'époque mais ce service n'est plus disponible ). A l'achat, le certificat se trouve dans le navigateur et doit être exporté en pfx.

    Ensuite il faut installer le Windows SDK pour y retrouver l'utilitaire signtool.exe.

    La ligne de commande (pour un certificat Comodo) se présente comme suit pour une signature en SHA256 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "signtool.exe" sign /f "C:\Chemin\certificat.pfx" /p "MotDePasse" /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 /as /v "C:\Chemin\MonApp.exe"
    On peut ajouter la commande en post-construction.

  3. #3
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Merci @Andnotor pour ton message.

    Après installation du Windows 10 SDK, j'ai pu signer mon application avec la ligne de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "PATH_SIGN_TOOL\signtool.exe" sign /f "PATH_CERTIF\MonCertif.pfx" /p MotDePasse /t <a href="http://timestamp.comodoca.com" target="_blank">http://timestamp.comodoca.com</a> "PATH_APP\MonApp.exe"
    Par contre, j'ai remarqué dans Sydney (et peut-être avant ) qu'il y a une fenêtre approvisionnement pour Windows: j'ai pu y créer gratuitement un certificat (mon chef est ) et je pourrais signer automatiquement mon applicatif:
    Nom : Certif.png
Affichages : 1241
Taille : 22,3 Ko

    Malheureusement lorsque je déploie mon applicatif, j'ai un message d'erreur car il n'arrive pas à créer un appx pour le Windows Store:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [PAClient Erreur] Erreur : E5128 The path (/p) parameter is: "\\?\C:\DEV\trunk\Projet\projet\bin\projet-unsigned.appx"
    A priori cette partie n'est que pour le Windows Store.

  4. #4
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    J'ai saisi les infos pour le faire en post-construction:

    Nom : Certif2.png
Affichages : 1733
Taille : 13,3 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign /f "C:\DEV\trunk\Projet\CertifWin.pfx" /p xxxxxxxxxxxxxX /t http://timestamp.comodoca.com "$(OUTPUTPATH)"
    Au final, soit l'appli n'est pas signée, soit j'ai un message d'erreur que le fichier de sortie est déjà utilisé

  5. #5
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Pas besoin de faire la commande soi-même, on peut utiliser le déploiement Windows pour la signature depuis l'IDE.

    Dans les options de déploiement sur le projet ou l'IDE en global, il est possible de basculer le déploiement Windows 32/64 "magasin d'application" en Ad-Hoc et donc de fournir le lien vers le certificat et son mot de passe. (au niveau du projet, c'est embarqué avec lui, donc à éviter si c'est de l'open source même si le fichier de signature lui-même n'est pas inclut).

    du coup on travaille normalement et quand on veut la version signé, on peut simplement faire un déploiement Windows32/64 en mode Ad-Hoc

  6. #6
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Merci pour le message pprem.

    J'ai crée un certificat puis renseigné les champs dans Projet/Options/Déploiement/Appro:
    Nom : Certif.png
Affichages : 1177
Taille : 22,3 Ko

    A la construction, mon *.exe de sortie n'est pas signé --> normal d'après ce que tu me dis

    Au déploiement, j'ai un nouvel *.exe non signé --> étrange il me semble.

    J'ai également mais aussi un *.appx signé. Mais lorsque j'exécute le *.appx, la signature semble mauvaise "Application Non Approuvée":
    Ce package d’application n’est pas signé avec un certificat approuvé. Contactez votre administrateur système ou le développeur de l’application pour obtenir un nouveau certificat ou un package d’application avec des certificats approuvés. Le certificat racine et tous les certificats immédiats de la signature dans le package de l’application doivent être approuvés (0x800B010A)
    Ce dernier point m'intéresse moins: je souhaite surtout obtenir un *.exe signé.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    @pprem un bon sujet de jeudi non ? Mais, peut-être que tu en as déjà parlé lors d'une session quelconque
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    @pprem un bon sujet de jeudi non ? Mais, peut-être que tu en as déjà parlé lors d'une session quelconque
    Bonjour SergioMaster,

    Oui il y a déjà une vidéo conséquente de @pprem qui explique le déploiement sur Win (27min) et les autres plateformes.


    Malgré tout, je rencontre ces problèmes et, en plus, la vidéo me fait poser 3 nouvelles questions:
    1/ pas besoin d'acheter un "code signing certificate" sous Sydney 10.4.1 car on peut en créer un ?

    2/ je n'ai pas compris le fait de ne pas utiliser son propre certificat (30min).
    Nom : Clipboard01.jpg
Affichages : 1164
Taille : 22,7 Ko
    Si je crée un certificat pour un applicatif sous Sydney, je souhaite l'utiliser aussi bien pour une installation en interne que pour une installation client. Est-ce possible ?

    3/ Dois-je utiliser un autre certificat pour la signature de mon setup d'install ou puis-je utiliser celui déjà existant pour mon applicatif ?

  9. #9
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Normalement l'APPX (MSIX depuis 10.4.2) ne devait être fait que pour un déploiement magasin mais comme je ne me sers pas de cette fonctionnalité j'ai peut-être loupé un truc. On peut checker demain après-midi.

    Pour le certificat, les certificats autosignés ne sont plus valides. Ca ne peut servir qu'en interne à condition de déployer aussi la clé privée sur les postes destinés à exécuter les programmes.
    Il est obligatoire de prendre un certificat payant ET reconnu par Microsoft pour limiter les verrouillages par SmartScreen.

    Comme Andnotor je passais par Tucows pour ça, mais ils ont fermé boutique :

    A note to Tucows Downloads Authors/Developers

    If you’re a developer who used the Tucows Author Resource Center (ARC) as part of your software dissemination, to buy code signing or other services, we’re happy to help with the transition.

    Any certificates purchased through ARC remain valid. If you’re looking to buy or renew code signing certificates, we invite you to go straight to the source; Sectigo was our supplier and will be happy to be yours too.
    Feel free to reach out to us at help@tucows.com if we can help with anything at all.
    Du coup un achat en direct (ou chez un revendeur) est nécessaire et pour être le moins emmerdé possible, prendre plusieurs années d'un coup est recommandé quand on peut.

    (beaucoup de logiciels open source ne sont pas signés et commencent à être rejetés lors des téléchargements, sur PC comme sur Mac, c'est agaçant en tant que développeur et c'est frustrant/inquiétant quand on est un simple utilisateur)

  10. #10
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Juste pour rappel.

    Citation Envoyé par lefju cabro Voir le message
    J'ai saisi les infos pour le faire en post-construction:

    Nom : Certif2.png
Affichages : 1733
Taille : 13,3 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign /f "C:\DEV\trunk\Projet\CertifWin.pfx" /p XXXXXXXXXX /t http://timestamp.comodoca.com "$(OUTPUTPATH)"
    Au final, soit l'appli n'est pas signée, soit j'ai un message d'erreur que le fichier de sortie est déjà utilisé
    C'est très bien de censurer l'image que tu proposes, mais penses à ne pas laisser ton mot de passe en clair dans les commandes que tu copies/colles, même si dans ce cas le certificat est inutilisable et qu'il faudrait le fichier et sa clé privée pour en faire quelque chose. C'est un coup à diffuser un truc moins compliqué une prochaine fois.

  11. #11
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par pprem Voir le message
    Normalement l'APPX (MSIX depuis 10.4.2) ne devait être fait que pour un déploiement magasin mais comme je ne me sers pas de cette fonctionnalité j'ai peut-être loupé un truc. On peut checker demain après-midi.
    Oui c'est peut-être une étrangeté du mode ad-hoc de la 10.4.1 corrigée en 10.4.2 (avec nouveau format MSIX). Je n'ai pas encore installé la 10.4.2 pour test.

    Citation Envoyé par pprem Voir le message
    Pour le certificat, les certificats autosignés ne sont plus valides. Ca ne peut servir qu'en interne à condition de déployer aussi la clé privée sur les postes destinés à exécuter les programmes.
    Il est obligatoire de prendre un certificat payant ET reconnu par Microsoft pour limiter les verrouillages par SmartScreen.
    Merci pour les infos.

    Dois-je prendre 1 certificat par *.exe ? C'est-à-dire, 1 pour le setup d'install et 1 pour l'applicatif en lui-même ?
    Ou 1 certificat "Entrerprise" pour tous mes *.exe ?

  12. #12
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par lefju cabro Voir le message
    Dois-je prendre 1 certificat par *.exe ? C'est-à-dire, 1 pour le setup d'install et 1 pour l'applicatif en lui-même ?
    Ou 1 certificat "Entrerprise" pour tous mes *.exe ?
    1 certificat par éditeur logiciel, valide de 1 à 3 ans.

  13. #13
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    Je profite de la discussion pour donner l'adresse du revendeur que j'utilise : https://codesigncert.com/comodocodesigning
    certificat COMMODO à 59$ si on prend 3ans qui a trouvé mieux ?
    avant je faisait comme vous TUCOWS mais c'est finis c'est bien triste

    et sinon signer en sha1 sha256 ? Ou les deux ?
    Moi je fait les 2 à la suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    signtool.exe sign /f "chemin/cscertificat.pfx" /fd sha1 /t http://timestamp.comodoca.com/ /p "motdepasse" /d "description" /v "fichier à signer"
    signtool.exe sign /f "chemin/cscertificat.pfx" /as /fd sha256 /td sha256 /tr /t http://timestamp.comodoca.com/?td=sha256 /p "motdepasse" /d "description" /v "fichier à signer"
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  14. #14
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par ouiouioui Voir le message
    Je profite de la discussion pour donner l'adresse du revendeur que j'utilise : https://codesigncert.com/comodocodesigning
    certificat COMMODO à 59$ si on prend 3ans qui a trouvé mieux ?
    Merci pour le lien.

    J'ai également vu qu'un certificat amélioré "Comodo EV Code Signing Certificate" existe.
    Je comprends ses avantages (réputation dans Microsoft SmartScreen, malware, ransomware) mais également son inconvénient (prix 319$/an).

    Est-ce que le certif basique est suffisant ? Pas sûr à cause de SmartScreen qui est que dans le certif plus.

  15. #15
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    https://www.comodoca.com/codesigning donne des explications

  16. #16
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Et côté génération / signature depuis Delphi, ça s'est confirmé lors des tests en ligne de 14 heures : il ne fait plus que du MSIX en 10.4.2 lorsqu'on fait un déploiement RELEASE / MAGASIN D'APPLICATION, qu'on soit en AD-HOC ou à destination du Windows Store.

  17. #17
    Membre régulier
    Développeur informatique
    Inscrit en
    Décembre 2010
    Messages
    228
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 228
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par pprem Voir le message
    Et côté génération / signature depuis Delphi, ça s'est confirmé lors des tests en ligne de 14 heures : il ne fait plus que du MSIX en 10.4.2 lorsqu'on fait un déploiement RELEASE / MAGASIN D'APPLICATION, qu'on soit en AD-HOC ou à destination du Windows Store.
    Merci pour les infos.

    Live dispo ici

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WS 2003] Problème de signature/Win 2003
    Par dari68 dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 15/11/2013, 14h51
  2. [win xp] problème win32
    Par goma771 dans le forum Windows XP
    Réponses: 1
    Dernier message: 19/05/2006, 14h06
  3. Réponses: 3
    Dernier message: 08/11/2005, 19h52
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  5. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo