Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Signature numérique d'un projet VBA

12 réponses
Avatar
Ben
Bonjour à tous,

Voici mon problème en espérant que vous pourrez m'aider : On développe des
applis en vba, exploitation de bases Access avec des formulaires codés en
VBA. Jusque là tout va bien. Nos applis tournent avec le runtime Access ou
avec Access et la grande nouveauté vient d'Access 2003 et le niveau de
sécurité pour les macros.

Afin d'éviter de demander à nos clients de baisser leur niveau de sécurité
au plus bas pour ne pas avoir toujours un message d'avertissement au
lancement du prog, j'aimerai savoir comment signer mon projet vba avec un
certificat et rajouter le fait qu'on fait confiance à ce certificat ?

J'ai suivi l'aide de Microsoft pour obtenir un certificat à partir de
selfcert. Ensuite je signe numériquement mon projet. Seulement je n'arrive
pas à valider les modules Access qui contiennent des formulaires. J'ai une
erreur lorsque j'enregistre mon projet en me disant qu'il ne peut pas signer
numériquement mon projet :
"Un problème s'est produit avec le certificat numérique. Le projet VBA n'a
pas pu être signé. La signature sera ignorée."

Par contre, j'ai réussi par la même méthode à signer un autre fichier mdb
mais qui est communs à tous nos logiciels et qui ne contient que des modules
avec des fonctions et aucun formulaire.

Autre chose, le codage est fait en Access 2000 pour un souci de
compatibilité avec le runtime qu'on livre aux clients qui est aussi en 2000.
En espérant avoir été assez clair, sinon n'hésitez surtout pas à me poser
des questions pour avancer plus vite : )

D'avance merci à vous tous !

10 réponses

1 2
Avatar
Ben
Si vous avez pas d'idées, comment faites vous pour signer numériquement vos
applis access ? Avec quel type de certificat ?

"Ben" a écrit dans le message de news:
%
Bonjour à tous,

Voici mon problème en espérant que vous pourrez m'aider : On développe des
applis en vba, exploitation de bases Access avec des formulaires codés en
VBA. Jusque là tout va bien. Nos applis tournent avec le runtime Access ou
avec Access et la grande nouveauté vient d'Access 2003 et le niveau de
sécurité pour les macros.

Afin d'éviter de demander à nos clients de baisser leur niveau de sécurité
au plus bas pour ne pas avoir toujours un message d'avertissement au
lancement du prog, j'aimerai savoir comment signer mon projet vba avec un
certificat et rajouter le fait qu'on fait confiance à ce certificat ?

J'ai suivi l'aide de Microsoft pour obtenir un certificat à partir de
selfcert. Ensuite je signe numériquement mon projet. Seulement je n'arrive
pas à valider les modules Access qui contiennent des formulaires. J'ai une
erreur lorsque j'enregistre mon projet en me disant qu'il ne peut pas
signer numériquement mon projet :
"Un problème s'est produit avec le certificat numérique. Le projet VBA n'a
pas pu être signé. La signature sera ignorée."

Par contre, j'ai réussi par la même méthode à signer un autre fichier mdb
mais qui est communs à tous nos logiciels et qui ne contient que des
modules avec des fonctions et aucun formulaire.

Autre chose, le codage est fait en Access 2000 pour un souci de
compatibilité avec le runtime qu'on livre aux clients qui est aussi en
2000.
En espérant avoir été assez clair, sinon n'hésitez surtout pas à me poser
des questions pour avancer plus vite : )

D'avance merci à vous tous !




Avatar
3stone
Salut,

"Ben"
| Si vous avez pas d'idées, comment faites vous pour signer numériquement vos
| applis access ? Avec quel type de certificat ?


Ci-dessous, une réponse de Benoît Compoint (MS) au sujet des signatures numériques...
Je te colle le texte intégral, à défaut de lien.

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw


######################################################

La solution recommandée par Microsoft est de signer numériquement votre
application.

Pour ce faire, vous pouvez contacter une des sociétés qui sont des
"Autorités de Certification".
Par exemple :
http://www.certplus.com/
http://fr.globalsign.net/digital_certificate/objectsign/index.cfm
http://www.verisign.fr/

Une autre solution consiste à utiliser une "Autorité de certification
interne" à l'entreprise de votre client.
En effet la société de votre client peut charger un administrateur (ou un
groupe d'administrateurs) de jouer le rôle d'une autorité de certification
et de produire ou distribuer des certificats numériques à l'aide d'outils
tels que Microsoft Certificate Server. Suivant la manière avec laquelle les
fonctionnalités de signature numérique de Microsoft Office sont employées
dans une telle organisation, vous pouvez être habilité à signer des projets
Access 2003 à l'aide d'un certificat numérique émanant de l'autorité de
certification interne de votre client. Peut-être devrez-vous demander à un
administrateur de signer à votre place les projets Access 2003 à l'aide d'un
certificat approuvé.

Enfin, si vous renoncez à signer numériquement votre application, vous
pouvez (avec l'accord de votre client) abaisser le niveau de sécurité des
stations de travail de votre client en fixant respectivement à 2 et à 1 les
deux entrées suivantes de la base de registre Windows :
"SandBoxMode" qui figure dans la sous-clé suivante
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0Engines]

"Level" qui figure dans la sous-clé suivante
[HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0AccessSecurity]

Notez que l'entrée Level peut prendre une valeur différente pour deux
utilisateurs de la même station de travail.

Bien cordialement,

Benoît Compoint
Microsoft France
Avatar
Ben
Merci pour l'info, en ce qui concerne les certificats, j'ai retrouvé cette
info dans l'aide en ligne Microsoft Office Online à cette adresse :
http://office.microsoft.com/fr-fr/assistance/hp010397921036.aspx, seulement,
je n'arrive pas à mes fins avec les certificats ! Le but recherché étant de
signer nos projets avec un certificat qu'on fournit aux clients, puis ils
nous ajoutent dans la liste des certificats de confiance pour garde un
niveau de sécurité élevé ou moyen mais ne plus avoir à répondre à la
question !!! D'ailleurs dasn le lien indiqué il y a aussi une portion de
code qui permet de baisser le niveau de sécurité au lancement d'access, mais
nous n'appliquons pas cette méthode pour le lancement, du coup le code ne
s'applique pas.

En ce qui concerne la baisse du niveau de sécurité par les clés de registre
ça me parait un peu trop radical comme méthode ! Même si les modifs ne
s'appliquent qu'à un utilisateur, on ne peut pas imposer à nos clients de
baisser leur niveau de sécurité, on doit se fondre dans leur configuration
actuelle.

Et les autorités de certification délivrent quel type de certificat ? Je
n'arrive même pas à signer avec un certificat auto-signé mes projets qui
tournent en local sur ma machine. De plus je suis déjà allé faire un tour
sur verisign et j'ai eu du mal à trouver les infos pour la signature de
projet vba...

"3stone" a écrit dans le message de news:

Salut,

"Ben"
| Si vous avez pas d'idées, comment faites vous pour signer numériquement
vos
| applis access ? Avec quel type de certificat ?


Ci-dessous, une réponse de Benoît Compoint (MS) au sujet des signatures
numériques...
Je te colle le texte intégral, à défaut de lien.

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw


######################################################

La solution recommandée par Microsoft est de signer numériquement votre
application.

Pour ce faire, vous pouvez contacter une des sociétés qui sont des
"Autorités de Certification".
Par exemple :
http://www.certplus.com/
http://fr.globalsign.net/digital_certificate/objectsign/index.cfm
http://www.verisign.fr/

Une autre solution consiste à utiliser une "Autorité de certification
interne" à l'entreprise de votre client.
En effet la société de votre client peut charger un administrateur (ou un
groupe d'administrateurs) de jouer le rôle d'une autorité de certification
et de produire ou distribuer des certificats numériques à l'aide d'outils
tels que Microsoft Certificate Server. Suivant la manière avec laquelle
les
fonctionnalités de signature numérique de Microsoft Office sont employées
dans une telle organisation, vous pouvez être habilité à signer des
projets
Access 2003 à l'aide d'un certificat numérique émanant de l'autorité de
certification interne de votre client. Peut-être devrez-vous demander à un
administrateur de signer à votre place les projets Access 2003 à l'aide
d'un
certificat approuvé.

Enfin, si vous renoncez à signer numériquement votre application, vous
pouvez (avec l'accord de votre client) abaisser le niveau de sécurité des
stations de travail de votre client en fixant respectivement à 2 et à 1
les
deux entrées suivantes de la base de registre Windows :
"SandBoxMode" qui figure dans la sous-clé suivante
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0Engines]

"Level" qui figure dans la sous-clé suivante
[HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0AccessSecurity]

Notez que l'entrée Level peut prendre une valeur différente pour deux
utilisateurs de la même station de travail.

Bien cordialement,

Benoît Compoint
Microsoft France



Avatar
Francois
Bonjour,

La solution recommandée par Microsoft est de signer numériquement votre
application.
Pour ce faire, vous pouvez contacter une des sociétés qui sont des
"Autorités de Certification".


Je suppose que ceci est -évidemment- payant, et peut être soumis à un
abonnement... Je me trompe ? Faut il aussi envoyer les sources des
applications à ces autorités afin qu'elle puissent certifier que le PC n'est
pas corrompu par nos applis ? ==> Le délai peut s'allonger...

Une autre solution consiste à utiliser une "Autorité de certification
interne" à l'entreprise de votre client.


Le problème est : Que faire si le service informatique du client se résume à
une simple secrétaire qui a très peu de compétence informatique ?

à l'aide d'outils tels que Microsoft Certificate Server.


Je suppose que ceci est -évidemment- payant, je me trompe ?

Enfin, si vous renoncez à signer numériquement votre application,


En fait, avec la version Access 2003, on n'a plus vraiment le choix...

vous pouvez (avec l'accord de votre client) abaisser le niveau de sécurité
des

stations de travail de votre client en fixant respectivement à 2 et à 1
les

deux entrées suivantes de la base de registre Windows :
"SandBoxMode" qui figure dans la sous-clé suivante
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftJet4.0Engines]

"Level" qui figure dans la sous-clé suivante
[HKEY_CURRENT_USERSoftwareMicrosoftOffice11.0AccessSecurity]

Notez que l'entrée Level peut prendre une valeur différente pour deux
utilisateurs de la même station de travail.


C'est plutôt violent comme méthode...

Microsoft France


Aïe, si c'est une info de Microsoft, j'ai peur...

François
(qui rencontre le même soucis, et qui aimerait le régler une fois pour
toute...)

Avatar
3stone
Salut,

"Francois"
| Je suppose que ceci est -évidemment- payant, et peut être soumis à un
| abonnement... Je me trompe ? Faut il aussi envoyer les sources des
[...]
| Je suppose que ceci est -évidemment- payant, je me trompe ?
[...]
| C'est plutôt violent comme méthode...
|
| > Microsoft France
|
| Aïe, si c'est une info de Microsoft, j'ai peur...


Se rendre simplement sur un des liens fournis...
http://www.verisign.com/products-services/security-services/code-signing/index.html

il fait bien écrit [Buy Now]

;-))


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Ben
Oui mais tout ça ne réponds pas à mes questions !

Venant de Microsoft, ça ne peut être que payant, c'est même pas une question
à poser ! On se croirait chez renaut, tout est en option : ) Je sais j'ai
l'humour acide, mais j'en ai marre de galèrer depuis une semaine pour le
problème que je rencontre, alors au bout d'un moment, faut bien se défouler
sur quelqu'un... en l'occurence les responsables.


"3stone" a écrit dans le message de news:

Salut,

"Francois"
| Je suppose que ceci est -évidemment- payant, et peut être soumis à un
| abonnement... Je me trompe ? Faut il aussi envoyer les sources des
[...]
| Je suppose que ceci est -évidemment- payant, je me trompe ?
[...]
| C'est plutôt violent comme méthode...
|
| > Microsoft France
|
| Aïe, si c'est une info de Microsoft, j'ai peur...


Se rendre simplement sur un des liens fournis...
http://www.verisign.com/products-services/security-services/code-signing/index.html

il fait bien écrit [Buy Now]

;-))


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw



Avatar
3stone
Salut,

"Ben"
| Venant de Microsoft, ça ne peut être que payant, c'est même pas une question
| à poser ! On se croirait chez renaut, tout est en option : ) Je sais j'ai
| l'humour acide, mais j'en ai marre de galèrer depuis une semaine pour le
| problème que je rencontre,

Vu la structure des OS actuels, il n'y a pas beaucoup d'alternatives...

Soit n'importe quel bout de code fait n'importe quoi (sécurité basse),
soit on joue avec des "certificats"... qui comme le reste sont payants!


| alors au bout d'un moment, faut bien se défouler
| sur quelqu'un... en l'occurence les responsables.

qui ? comment ? "nous" ??
quel responsables ? et responsables de quoi ?

Je te rappelle qu'ici nous sommes sur un newsgroup et qu'il n'y a
pas de responsable (même pas modéré, ce groupe... ;-)

Et si tu parle des quelques MVP, regarde ceci :
https://mvp.support.microsoft.com/gp/mvpexecsum


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Francois
Bonjour 3stone,

Une question bête, après avoir visité le lien (et histoire de ne pas jeter
l'argent à la fenêtre...). Avez-vous utilisé la certification "Microsoft
Office and VBA Signing Digital ID" et est ce que ça marche correctement ? Ou
bien cet achat en entraîne t'il d'autres ?

Merci

François
Avatar
Ben
C'est pas nouveau qu'un bout de code puisse être dangereux... On dirait que
c'est une nouveauté !

Je ne rends personne responsable, encore moins les MVP qui ne sont pas
responsables de la stratégie de développement de Microsoft. Seulement c'est
pas moi qui décide des nouveautés des produits Office, et quand il y a des
nouveautés un peu embêtantes, j'aimerai seulement qu'il y ait une
information claire et simple pour passer outre. La solution fournie dans
l'aide m'allait très bien, mais je n'y arrive pas. J'ai profité de
l'assistance utilisateur fournie par l'achat d'un nouveau logiciel et
j'attends une réponse de microsoft pour mon problème. On verra bien

Je suis le premier à faire le constat d'une augmentation du nombre
d'attaques pirates ce qui entraîne une politique de sécurité de plus en plus
"violente" et parano. On a peut-être pas le choix mais comme par hasard il y
a toujours des solutions... mais payantes. En plus je ne suis même pas sûr
que ça marche vu que mon petit certificat auto-signé ne marche même pas.
Pourquoi celui édité par verisign et qui m'en coûtera 400$ marchera mieux ?
J'aimerai être sûr que c'est la seule solution en fait.

"3stone" a écrit dans le message de news:
%
Salut,

"Ben"
| Venant de Microsoft, ça ne peut être que payant, c'est même pas une
question
| à poser ! On se croirait chez renaut, tout est en option : ) Je sais
j'ai
| l'humour acide, mais j'en ai marre de galèrer depuis une semaine pour le
| problème que je rencontre,

Vu la structure des OS actuels, il n'y a pas beaucoup d'alternatives...

Soit n'importe quel bout de code fait n'importe quoi (sécurité basse),
soit on joue avec des "certificats"... qui comme le reste sont payants!


| alors au bout d'un moment, faut bien se défouler
| sur quelqu'un... en l'occurence les responsables.

qui ? comment ? "nous" ??
quel responsables ? et responsables de quoi ?

Je te rappelle qu'ici nous sommes sur un newsgroup et qu'il n'y a
pas de responsable (même pas modéré, ce groupe... ;-)

Et si tu parle des quelques MVP, regarde ceci :
https://mvp.support.microsoft.com/gp/mvpexecsum


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw



Avatar
3stone
Salut,

"Francois"
| Une question bête, après avoir visité le lien (et histoire de ne pas jeter
| l'argent à la fenêtre...). Avez-vous utilisé la certification "Microsoft
| Office and VBA Signing Digital ID" et est ce que ça marche correctement ? Ou
| bien cet achat en entraîne t'il d'autres ?


Jamais eu besoin et je n'utiliserai (sûrement) jamais !

La raison ?
Quitté le monde des actifs (rémunérés) depuis qques années :o))


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
1 2