OVH Cloud OVH Cloud

Macro signées pour échange de fichiers vers un sous-traitant

9 réponses
Avatar
Perceval973
Bonjour

J'échange des fichiers contenant des macros avec un sous-traitant.
La politique de sécurité de ce dernier est tres stricte et chez eux Excel
est configuré pour ne pas accepter les macros inconnues...

Comment puis-je faire pour signer mes macros et faire en sorte que chez mon
sous-traitant Excel n'ennuie plus mon contact ?
Je ne connais pas du tout ce principe alors s'il vous plait soyez clair ou
essayez de me diriger vers un tutoriel en ligne (si cela existe)

Merci d'avance
Perceval973

9 réponses

Avatar
David C.
Il faut que ton client soit sous windows et toi aussi (je crois que Mac n'a
pas ce principe)

Le principe est simple (tant qu'on n'entre pas dans les détails).

Tu dois d'abord te créer un certificat numérique (qui sera ta pièce
d'identité)
il faut pour cela que tu ailles dans le dossier d'installation d'office,
(assez souvent c:program filesMicrosoft OfficeOffice)

lance le programme:
SELFCERT.EXE
(si tu ne l'as pas il est sur le CD d'installation d'office)
là tu vas créer une clef avec un nom explicite pour ton client

Dans ton projet VBA:
menu Outils>Signature numérique
bouton Choisir (et tu sélectionnes la clef créée)

maintenant, chaque fois que tu enregistres une modification depuis ton PC,
le projet est signé numérique (par ce certificat).

(Quelqu'un d'autre peut créer un certificat au même nom, ce ne serait pas la
même signature, elle est unique et exclusive, seul ton PC peut créer cela)

Ton client pourra choisir d'accepter ta macro, en cochant la case 'toujours
faire confiance à cette source'

--> Il n'aura à indiquer ce choix qu'une seule et unique fois, toutes les
macros venant de toi seront désormais acceptée. IL DEVRA donner cette
confirmation chaque fois qu'il réinstallera son PC ou sur chaque nouvelle
machine recevant pour la première fois tes macros. IL DEVRA par contre ne
jamais accepter deux fois de suite sur un même PC, avec ta même signature !

Si son pc redemande un jour cette confirmation une seconde fois cela
signifiera que
SOIT 1- tu as changé de certificat ou de PC et donc de signature
(tu l'en informerais et il accepterait cette nouvelle signature)
SOIT 2- que c'est une autre signature donc une fausse identité
(et alors il doit refuser les macros la seconde fois)

PS/ tu dois lui expliquer ce principe /PS
PPS/ tu peux exporter ton certificat sur un autre PC pour travailler sur
plusieurs machine, mais là j'en reste là pour cette réponse. Car ça se
complique. Tu as le droit d'avoir plusieurs signatures connues et de lui
faire accepter chacune après tout. /PPS
Avatar
Perceval973
Super, Merci, Excellente explication :-)

Je vais m'y atteler :-)

Encore merci
Perceval973

"David C." a écrit dans le message de
news:
Il faut que ton client soit sous windows et toi aussi (je crois que Mac
n'a

pas ce principe)

Le principe est simple (tant qu'on n'entre pas dans les détails).

Tu dois d'abord te créer un certificat numérique (qui sera ta pièce
d'identité)
il faut pour cela que tu ailles dans le dossier d'installation d'office,
(assez souvent c:program filesMicrosoft OfficeOffice)

lance le programme:
SELFCERT.EXE
(si tu ne l'as pas il est sur le CD d'installation d'office)
là tu vas créer une clef avec un nom explicite pour ton client

Dans ton projet VBA:
menu Outils>Signature numérique
bouton Choisir (et tu sélectionnes la clef créée)

maintenant, chaque fois que tu enregistres une modification depuis ton PC,
le projet est signé numérique (par ce certificat).

(Quelqu'un d'autre peut créer un certificat au même nom, ce ne serait pas
la

même signature, elle est unique et exclusive, seul ton PC peut créer cela)

Ton client pourra choisir d'accepter ta macro, en cochant la case
'toujours

faire confiance à cette source'

--> Il n'aura à indiquer ce choix qu'une seule et unique fois, toutes les
macros venant de toi seront désormais acceptée. IL DEVRA donner cette
confirmation chaque fois qu'il réinstallera son PC ou sur chaque nouvelle
machine recevant pour la première fois tes macros. IL DEVRA par contre ne
jamais accepter deux fois de suite sur un même PC, avec ta même signature
!


Si son pc redemande un jour cette confirmation une seconde fois cela
signifiera que
SOIT 1- tu as changé de certificat ou de PC et donc de signature
(tu l'en informerais et il accepterait cette nouvelle signature)
SOIT 2- que c'est une autre signature donc une fausse identité
(et alors il doit refuser les macros la seconde fois)

PS/ tu dois lui expliquer ce principe /PS
PPS/ tu peux exporter ton certificat sur un autre PC pour travailler sur
plusieurs machine, mais là j'en reste là pour cette réponse. Car ça se
complique. Tu as le droit d'avoir plusieurs signatures connues et de lui
faire accepter chacune après tout. /PPS




Avatar
twinley
Bonjour David,

Bravo pour cette excellente explication, je n'avais jamais eu le courage de
me pencher sur la question.
Hier encore, je disais que l'informatique marchait très très bien, mais que
les sécurités engendraient bien des difficultés...
--
à+twinley
"David C." a écrit dans le message de
news:
Il faut que ton client soit sous windows et toi aussi (je crois que Mac
n'a

pas ce principe)

Le principe est simple (tant qu'on n'entre pas dans les détails).

Tu dois d'abord te créer un certificat numérique (qui sera ta pièce
d'identité)
il faut pour cela que tu ailles dans le dossier d'installation d'office,
(assez souvent c:program filesMicrosoft OfficeOffice)

lance le programme:
SELFCERT.EXE
(si tu ne l'as pas il est sur le CD d'installation d'office)
là tu vas créer une clef avec un nom explicite pour ton client

Dans ton projet VBA:
menu Outils>Signature numérique
bouton Choisir (et tu sélectionnes la clef créée)

maintenant, chaque fois que tu enregistres une modification depuis ton PC,
le projet est signé numérique (par ce certificat).

(Quelqu'un d'autre peut créer un certificat au même nom, ce ne serait pas
la

même signature, elle est unique et exclusive, seul ton PC peut créer cela)

Ton client pourra choisir d'accepter ta macro, en cochant la case
'toujours

faire confiance à cette source'

--> Il n'aura à indiquer ce choix qu'une seule et unique fois, toutes les
macros venant de toi seront désormais acceptée. IL DEVRA donner cette
confirmation chaque fois qu'il réinstallera son PC ou sur chaque nouvelle
machine recevant pour la première fois tes macros. IL DEVRA par contre ne
jamais accepter deux fois de suite sur un même PC, avec ta même signature
!


Si son pc redemande un jour cette confirmation une seconde fois cela
signifiera que
SOIT 1- tu as changé de certificat ou de PC et donc de signature
(tu l'en informerais et il accepterait cette nouvelle signature)
SOIT 2- que c'est une autre signature donc une fausse identité
(et alors il doit refuser les macros la seconde fois)

PS/ tu dois lui expliquer ce principe /PS
PPS/ tu peux exporter ton certificat sur un autre PC pour travailler sur
plusieurs machine, mais là j'en reste là pour cette réponse. Car ça se
complique. Tu as le droit d'avoir plusieurs signatures connues et de lui
faire accepter chacune après tout. /PPS




Avatar
Nicolas B.
Salut David,

Ton client pourra choisir d'accepter ta macro, en cochant la case
'toujours
faire confiance à cette source'


Ben non :-(

Les certificats créés avec SelfCert.exe ne prouvent pas ton identité.
Bien que tu puisse cocher Toujours faire confiance aux macros provenant
de Machin sur le poste sur lequel a été créé le certificat, la case sera
désactivée sur d'autres PC.

Pour rendre la case active il faut copier les fichiers de certificats
situés quelque part par là :
C:Documents and SettingsUtilisateurApplication
DataMicrosoftCryptoRSAS-Plein-de-chiffres
Dans ce répertoire, il faut alors retrouver le certificat avec lequel le
classeur a été signé (un fichier système avec encore plein de chiffres)
puis copier ce fichier dans le répertoire similaire de l'autre poste.


A+
Nicolas B.

David C. wrote:
Il faut que ton client soit sous windows et toi aussi (je crois que Mac n'a
pas ce principe)

Le principe est simple (tant qu'on n'entre pas dans les détails).

Tu dois d'abord te créer un certificat numérique (qui sera ta pièce
d'identité)
il faut pour cela que tu ailles dans le dossier d'installation d'office,
(assez souvent c:program filesMicrosoft OfficeOffice)

lance le programme:
SELFCERT.EXE
(si tu ne l'as pas il est sur le CD d'installation d'office)
là tu vas créer une clef avec un nom explicite pour ton client

Dans ton projet VBA:
menu Outils>Signature numérique
bouton Choisir (et tu sélectionnes la clef créée)

maintenant, chaque fois que tu enregistres une modification depuis ton PC,
le projet est signé numérique (par ce certificat).

(Quelqu'un d'autre peut créer un certificat au même nom, ce ne serait pas la
même signature, elle est unique et exclusive, seul ton PC peut créer cela)

Ton client pourra choisir d'accepter ta macro, en cochant la case 'toujours
faire confiance à cette source'

--> Il n'aura à indiquer ce choix qu'une seule et unique fois, toutes les
macros venant de toi seront désormais acceptée. IL DEVRA donner cette
confirmation chaque fois qu'il réinstallera son PC ou sur chaque nouvelle
machine recevant pour la première fois tes macros. IL DEVRA par contre ne
jamais accepter deux fois de suite sur un même PC, avec ta même signature !

Si son pc redemande un jour cette confirmation une seconde fois cela
signifiera que
SOIT 1- tu as changé de certificat ou de PC et donc de signature
(tu l'en informerais et il accepterait cette nouvelle signature)
SOIT 2- que c'est une autre signature donc une fausse identité
(et alors il doit refuser les macros la seconde fois)

PS/ tu dois lui expliquer ce principe /PS
PPS/ tu peux exporter ton certificat sur un autre PC pour travailler sur
plusieurs machine, mais là j'en reste là pour cette réponse. Car ça se
complique. Tu as le droit d'avoir plusieurs signatures connues et de lui
faire accepter chacune après tout. /PPS




Avatar
JpPradier
Bonjour Nicolas

Ca me surprend, ce que tu dis là. Il me semble que sur le réseau ou je bossais ( Win NT Excel
2000 ), il n'y avait pas besoin de copier quelque chose sur les autres postes pour pouvoir cocher la
case.

j-p
Avatar
Nicolas B.
Salut jp,

J'ai fais des tests avec Excel 2002 et 2003 et le fait d'enlever la clé
du certificat dans le dossier RSAS-... empêche de cocher la case.

Mais ça n'est valable que pour les certificats de SelfCert (dont le nom
d'utilisateur est le même que le nom de l'autorité de certification).
Ceux délivrés par une autorité tierce permettent de cocher la case sur
n'importe quel poste.


A+
Nicolas B.


JpPradier wrote:
Bonjour Nicolas

Ca me surprend, ce que tu dis là. Il me semble que sur le réseau ou je bossais ( Win NT Excel
2000 ), il n'y avait pas besoin de copier quelque chose sur les autres postes pour pouvoir cocher la
case.

j-p



Avatar
JpPradier
Ok, on est d'accord. Moi, je parlais de créer mon propre certificat via Selfcert et avec un nom
perso.

j-p
Avatar
Perceval973
Bonjour David...

J'ai suivi tous tes conseils et pour moi cela s'est tres bien passé... En
revanche mon sous-traitant lorsqu'il a recu et ouvert le fichier a cliqué
sur le mauvais bouton :-( C'est surement la loi de Murphy qui est passée par
la...
Est-ce qu'il y a une solution pour qu'il ré-approuve ma macro signée ?

Merci d'avance
Perceval973

"David C." a écrit dans le message de
news:
Il faut que ton client soit sous windows et toi aussi (je crois que Mac
n'a

pas ce principe)

Le principe est simple (tant qu'on n'entre pas dans les détails).

Tu dois d'abord te créer un certificat numérique (qui sera ta pièce
d'identité)
il faut pour cela que tu ailles dans le dossier d'installation d'office,
(assez souvent c:program filesMicrosoft OfficeOffice)

lance le programme:
SELFCERT.EXE
(si tu ne l'as pas il est sur le CD d'installation d'office)
là tu vas créer une clef avec un nom explicite pour ton client

Dans ton projet VBA:
menu Outils>Signature numérique
bouton Choisir (et tu sélectionnes la clef créée)

maintenant, chaque fois que tu enregistres une modification depuis ton PC,
le projet est signé numérique (par ce certificat).

(Quelqu'un d'autre peut créer un certificat au même nom, ce ne serait pas
la

même signature, elle est unique et exclusive, seul ton PC peut créer cela)

Ton client pourra choisir d'accepter ta macro, en cochant la case
'toujours

faire confiance à cette source'

--> Il n'aura à indiquer ce choix qu'une seule et unique fois, toutes les
macros venant de toi seront désormais acceptée. IL DEVRA donner cette
confirmation chaque fois qu'il réinstallera son PC ou sur chaque nouvelle
machine recevant pour la première fois tes macros. IL DEVRA par contre ne
jamais accepter deux fois de suite sur un même PC, avec ta même signature
!


Si son pc redemande un jour cette confirmation une seconde fois cela
signifiera que
SOIT 1- tu as changé de certificat ou de PC et donc de signature
(tu l'en informerais et il accepterait cette nouvelle signature)
SOIT 2- que c'est une autre signature donc une fausse identité
(et alors il doit refuser les macros la seconde fois)

PS/ tu dois lui expliquer ce principe /PS
PPS/ tu peux exporter ton certificat sur un autre PC pour travailler sur
plusieurs machine, mais là j'en reste là pour cette réponse. Car ça se
complique. Tu as le droit d'avoir plusieurs signatures connues et de lui
faire accepter chacune après tout. /PPS




Avatar
JpPradier
Bonjour Perceval973

Eh oui la loi de Murphy a la peau dure ;-))

Un contournement possible : Tu recréés un autre certificat. Normalement, ton sous-traitant aura à
nouveau la question.

j-p