2010-09-28 9 views
1

J'essaye de signer une application Silverlight 4 OOB (fichier XAP).
J'utilise la commande suivante:Impossible de signer un fichier XAP

"C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\signtool.exe" sign /v /f path\to\FILENAME.pfx /p PWD path\to\FILENAME.xap 

et je reçois la réponse:

The following certificate was selected: 
    Issued to: COMPANY NAME 
    Issued by: Thawte Code Signing CA 
    Expires: Wed Dec 01 00:59:59 2010 
    SHA1 hash: AE57AF01180BF995C7C5B01E235F296CCF611111 

Done Adding Additional Store 
Successfully signed: FILENAME.xap 

Number of files successfully Signed: 1 
Number of warnings: 0 
Number of errors: 0 

Mais le fichier XAP n'est pas signé.
Si je vois les propriétés dans l'explorateur, il n'y a pas de 'Digital Signatures'. Et si j'essaie de l'installer, j'obtiens le dialogue non vérifié.
Si j'utilise exactement la même commande mais pour un fichier dll, la signature fonctionne correctement et je peux voir la signature numérique appliquée au fichier.

Quelle est la cause de ceci? J'ai besoin d'une version différente de signtool.exe? Si cela est important, le PFX a été initialement exporté à partir d'une machine XP et j'essaie de l'exécuter sur une machine Win7 (pour dev) et un serveur Win2008 (build machine) et d'avoir le même comportement sur les deux.

Edit:
Si je vérifie le certificat de la DLL signé, je reçois le texte suivant:

SignTool Error: A certificate chain processed, but terminated in a root 
     certificate which is not trusted by the trust provider. 

Il semble donc que je dois installer des certificats racine.

Cependant, je ne suis pas sûr que cela explique pourquoi le fichier XAP ne signale aucun certificat ajouté.

+0

En arrivant à la page qui contient les contrôles SL pour la première fois, le navigateur ne-un sauté message?Je n'arrive pas à le faire même après avoir signé mon fichier xap, cela me rend confus ... Avez-vous besoin d'effectuer une configuration en plus de la signature du fichier xap? –

Répondre

3

Avez-vous essayé de signer l'application via l'onglet Signature dans les Propriétés du projet du projet Silverlight? Si les propriétés de votre projet sont comme les miennes, il y a peut-être deux onglets de signature (l'un est pour nommer l'assemblage) - celui que vous voulez sera probablement le second. Voici un lien expliquant les étapes pour signer le XAP: http://blogs.infosupport.com/blogs/alexb/archive/2010/05/10/silverlight-4-digitally-signing-a-xap.aspx. Voyez si cela aide à résoudre le problème.

Rappelez-vous également que la signature de XAP n'est pas suffisante - vous devez importer le certificat dans le magasin racine de confiance (ce que vous ne semblez pas faire). Cliquez sur le bouton Plus de détails ... dans l'onglet Signature. Il indiquera probablement que ce certificat racine CA n'est pas approuvé. Effectuez les opérations suivantes:

  • Cliquez sur le bouton Installer le certificat sur cette boîte de dialogue
  • Sélectionnez Placer tous les bouton certificats dans l'option de magasin suivant, puis cliquez sur le bouton Parcourir ...
  • Sélectionnez les autorités de certification racine de confiance élément dans l'arborescence
  • Appuyez sur OK.

Une autre boîte de dialogue devrait apparaître indiquant qu'elle a été installée. Maintenant, recompilez votre application et cela devrait fonctionner correctement.

Hope this helps ...

Chris

+0

Les certificats ont été installés mais pas dans le magasin racine approuvé. La vérification échoue toujours sur ma machine mais le xap apparaît signé lorsqu'il est installé sur le site. –

+0

J'ai également signé mon fichier xap avec un certificat (Verisign) mais je ne parviens pas à avoir un droit élevé côté client ... Le fichier xap est correctement signé, que puis-je faire de mal? –

Questions connexes